Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / packages / mac-parts.h
diff --git a/qemu/roms/openbios/packages/mac-parts.h b/qemu/roms/openbios/packages/mac-parts.h
new file mode 100644 (file)
index 0000000..acfcbe0
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ *   Creation Date: <1999/07/06 15:45:12 samuel>
+ *   Time-stamp: <2002/10/20 16:31:48 samuel>
+ *
+ *     <partition_table.h>
+ *
+ *     Headers describing the partition table
+ *
+ *   Copyright (C) 1999, 2002 Samuel Rydh (samuel@ibrium.se)
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation
+ *
+ */
+
+#ifndef _H_PARTITION_TABLE
+#define _H_PARTITION_TABLE
+
+/* This information is based upon IM vol V. */
+
+#define DESC_MAP_SIGNATURE     0x4552
+#define DESC_PART_SIGNATURE    0x504d
+
+enum {
+       kPartitionAUXIsValid         = 0x00000001,
+       kPartitionAUXIsAllocated     = 0x00000002,
+       kPartitionAUXIsInUse         = 0x00000004,
+       kPartitionAUXIsBootValid     = 0x00000008,
+       kPartitionAUXIsReadable      = 0x00000010,
+       kPartitionAUXIsWriteable     = 0x00000020,
+       kPartitionAUXIsBootCodePositionIndependent = 0x00000040,
+       kPartitionISMountedAtStartup = 0x40000000,
+       kPartitionIsStartup          = 0x80000000,
+       kPartitionIsChainCompatible  = 0x00000100,
+       kPartitionIsRealDeviceDriver = 0x00000200,
+       kPartitionCanChainToNext     = 0x00000400,
+};
+
+typedef struct {
+       u32             ddBlock;                /* first block of driver */
+       u16             ddSize;                 /* driver size in blocks */
+       s16             ddType;                 /* 1 & -1 for SCSI */
+} driver_entry_t;
+
+typedef struct { /* Block 0 of a device */
+       u16             sbSig;                  /* always 0x4552 */
+       u16             sbBlockSize;            /* 512 */
+       s32             sbBlkCount;             /* #blocks on device */
+       u16             sbDevType;              /* 0 */
+       u16             sbDevID;                /* 0 */
+       u32             sbData;                 /* 0 */
+       s16             sbDrvrCount;            /* #driver descriptors */
+
+       /* driver entries goes here */
+       driver_entry_t  drivers[61] __attribute__ ((packed));
+
+       u16             filler1;
+       u32             filler2;
+} desc_map_t;
+
+typedef struct { /* Partition descriptor */
+       u16             pmSig;                  /* always 0x504d 'PM' */
+       u16             pmSigPad;               /* 0 */
+       u32             pmMapBlkCnt;            /* #blocks in partition map */
+       u32             pmPyPartStart;          /* first physical block of part. */
+       u32             pmPartBlkCnt;           /* #blocks in partition */
+       char            pmPartName[32];         /* partition name */
+       char            pmPartType[32];         /* partition type */
+
+       /* these fields may or may not be used */
+       u32             pmLgDataStart;
+       u32             pmDataCnt;
+       u32             pmPartStatus;
+       u32             pmLgBootStart;
+       u32             pmBootSize;
+       u32             pmBootLoad;
+       u32             pmBootLoad2;
+       u32             pmBootEntry;
+       u32             pmBootEntry2;
+       u32             pmBootCksum;
+       char            pmProcessor[16];
+
+       char            filler[376];            /* might contain extra information */
+} part_entry_t;
+
+
+#endif   /* _H_PARTITION_TABLE */