/* * Implementation of STE's HSem protocol 1 without interrutps. * The only masterID we allow is '0x01' to force people to use * HSems for synchronisation between processors rather than processes * on the ARM core.
*/
#define U8500_MAX_SEMAPHORE 32 /* a total of 32 semaphore */ #define RESET_SEMAPHORE (0) /* free */
/* * CPU ID for master running u8500 kernel. * Hswpinlocks should only be used to synchonise operations * between the Cortex A9 core and the other CPUs. Hence * forcing the masterID to a preset value.
*/ #define HSEM_MASTER_ID 0x01
/* get only first 4 bit and compare to masterID. * if equal, we have the semaphore, otherwise * someone else has it.
*/ return (HSEM_MASTER_ID == (0x0F & readl(lock_addr)));
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.