Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 364 → Rev 365

/SPARTAN/trunk/include/list.h
37,38 → 37,42
link_t *next;
};
 
 
#define link_initialize(link) { \
(link)->prev = NULL; \
(link)->next = NULL; \
static inline void link_initialize(link_t *link)
{
link->prev = NULL;
link->next = NULL;
}
 
#define list_initialize(head) { \
(head)->prev = (head); \
(head)->next = (head); \
static inline void list_initialize(link_t *head)
{
head->prev = head;
head->next = head;
}
 
#define list_prepend(link, head) { \
(link)->next = (head)->next; \
(link)->prev = (head); \
(head)->next->prev = (link); \
(head)->next = (link); \
static inline void list_prepend(link_t *link, link_t *head)
{
link->next = head->next;
link->prev = head;
head->next->prev = link;
head->next = link;
}
 
#define list_append(link, head) { \
(link)->prev = (head)->prev; \
(link)->next = (head); \
(head)->prev->next = (link); \
(head)->prev = (link); \
static inline void list_append(link_t *link, link_t *head)
{
link->prev = head->prev;
link->next = head;
head->prev->next = link;
head->prev = link;
}
 
#define list_remove(link) { \
(link)->next->prev = (link)->prev; \
(link)->prev->next = (link)->next; \
link_initialize(link); \
static inline void list_remove(link_t *link)
{
link->next->prev = link->prev;
link->prev->next = link->next;
link_initialize(link);
}
 
#define list_empty(head) (((head)->next == (head))?true:false)
static inline bool list_empty(link_t *head) { return head->next == head ? true : false; }
 
#define list_get_instance(link,type,member) (type *)(((__u8*)(link))-((__u8*)&(((type *)NULL)->member)))
 
/SPARTAN/trunk/doc/arch/mips32
18,6 → 18,7
o older versions may do as well, but are now obsoleted
 
EMULATORS AND VIRTUALIZERS
o msim 1.2.7
o msim 1.2.6 with lwl/lwr/swl/swr patch
o gxemul - both big and little endian
o simics 2.2.19