From: Russ D. <ru...@us...> - 2001-09-02 03:08:23
|
Update of /cvsroot/blob/blob/include In directory usw-pr-cvs1:/tmp/cvs-serv7168/include Modified Files: param_block.h Log Message: add configuration logic to blob tags Index: param_block.h =================================================================== RCS file: /cvsroot/blob/blob/include/param_block.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- param_block.h 2001/09/02 02:29:54 1.2 +++ param_block.h 2001/09/02 03:08:20 1.3 @@ -45,6 +45,15 @@ struct ptag_header { u32 size; u32 ptag; + + /* the tag is proccessed if current_conf & conf_mask == conf */ + u32 conf_mask; + u32 conf; + + /* if the tag fails, then current_conf |= fail_set_mask, and + * current_config &= ~fail_clear_mask */ + u32 fail_set_mask; + u32 fail_clear_mask; }; /* The list must start with an PTAG_CORE node */ @@ -97,6 +106,24 @@ }; +/* network hardware addresses */ +#define PTAG_HWADDR (PTAG_MAGIC | 7) + +struct ptag_hwaddr { + char name[10]; /* device name (ie: eth0) */ + char hwaddr[6]; +}; + + +/* check a GPIO */ +#define PTAG_GPIO (PTAG_MAGIC | 8) + +struct ptag_gpio { + u32 mask; + u32 level; +}; + + struct ptag { struct ptag_header hdr; union { @@ -106,6 +133,8 @@ struct ptag_cmdline cmdline; struct ptag_baud baud; struct ptag_splash splash; + struct ptag_hwaddr hwaddr; + struct ptag_gpio gpio; } u; }; @@ -129,6 +158,6 @@ for (t = base; t->hdr.size; t = ptag_next(t)) -void parse_ptags(void *t); +void parse_ptags(void *t, u32 *conf); #endif |