|
@@ -79,3 +79,90 @@ enum linux_identifier {
|
|
|
struct linux_component {
|
|
|
enum linux_devclass class; /* node class */
|
|
|
enum linux_devtypes type; /* node type */
|
|
|
+ enum linux_identifier iflags; /* node flags */
|
|
|
+ USHORT vers; /* node version */
|
|
|
+ USHORT rev; /* node revision */
|
|
|
+ ULONG key; /* completely magic */
|
|
|
+ ULONG amask; /* XXX affinity mask??? */
|
|
|
+ ULONG cdsize; /* size of configuration data */
|
|
|
+ ULONG ilen; /* length of string identifier */
|
|
|
+ _PULONG iname; /* string identifier */
|
|
|
+};
|
|
|
+typedef struct linux_component pcomponent;
|
|
|
+
|
|
|
+struct linux_sysid {
|
|
|
+ char vend[8], prod[8];
|
|
|
+};
|
|
|
+
|
|
|
+/* ARCS prom memory descriptors. */
|
|
|
+enum arcs_memtypes {
|
|
|
+ arcs_eblock, /* exception block */
|
|
|
+ arcs_rvpage, /* ARCS romvec page */
|
|
|
+ arcs_fcontig, /* Contiguous and free */
|
|
|
+ arcs_free, /* Generic free memory */
|
|
|
+ arcs_bmem, /* Borken memory, don't use */
|
|
|
+ arcs_prog, /* A loaded program resides here */
|
|
|
+ arcs_atmp, /* ARCS temporary storage area, wish Sparc OpenBoot told this */
|
|
|
+ arcs_aperm, /* ARCS permanent storage... */
|
|
|
+};
|
|
|
+
|
|
|
+/* ARC has slightly different types than ARCS */
|
|
|
+enum arc_memtypes {
|
|
|
+ arc_eblock, /* exception block */
|
|
|
+ arc_rvpage, /* romvec page */
|
|
|
+ arc_free, /* Generic free memory */
|
|
|
+ arc_bmem, /* Borken memory, don't use */
|
|
|
+ arc_prog, /* A loaded program resides here */
|
|
|
+ arc_atmp, /* temporary storage area */
|
|
|
+ arc_aperm, /* permanent storage */
|
|
|
+ arc_fcontig, /* Contiguous and free */
|
|
|
+};
|
|
|
+
|
|
|
+union linux_memtypes {
|
|
|
+ enum arcs_memtypes arcs;
|
|
|
+ enum arc_memtypes arc;
|
|
|
+};
|
|
|
+
|
|
|
+struct linux_mdesc {
|
|
|
+ union linux_memtypes type;
|
|
|
+ ULONG base;
|
|
|
+ ULONG pages;
|
|
|
+};
|
|
|
+
|
|
|
+/* Time of day descriptor. */
|
|
|
+struct linux_tinfo {
|
|
|
+ unsigned short yr;
|
|
|
+ unsigned short mnth;
|
|
|
+ unsigned short day;
|
|
|
+ unsigned short hr;
|
|
|
+ unsigned short min;
|
|
|
+ unsigned short sec;
|
|
|
+ unsigned short msec;
|
|
|
+};
|
|
|
+
|
|
|
+/* ARCS virtual dirents. */
|
|
|
+struct linux_vdirent {
|
|
|
+ ULONG namelen;
|
|
|
+ unsigned char attr;
|
|
|
+ char fname[32]; /* XXX imperical, should be a define */
|
|
|
+};
|
|
|
+
|
|
|
+/* Other stuff for files. */
|
|
|
+enum linux_omode {
|
|
|
+ rdonly, wronly, rdwr, wronly_creat, rdwr_creat,
|
|
|
+ wronly_ssede, rdwr_ssede, dirent, dirent_creat
|
|
|
+};
|
|
|
+
|
|
|
+enum linux_seekmode {
|
|
|
+ absolute, relative
|
|
|
+};
|
|
|
+
|
|
|
+enum linux_mountops {
|
|
|
+ media_load, media_unload
|
|
|
+};
|
|
|
+
|
|
|
+/* This prom has a bolixed design. */
|
|
|
+struct linux_bigint {
|
|
|
+#ifdef __MIPSEL__
|
|
|
+ u32 lo;
|
|
|
+ s32 hi;
|