ppc: Add RTAS rtas-version property
[openbios/afaerber.git] / packages / mac-parts.h
blobacfcbe04b4bd16719220e4238eee557967a52325
1 /*
2 * Creation Date: <1999/07/06 15:45:12 samuel>
3 * Time-stamp: <2002/10/20 16:31:48 samuel>
5 * <partition_table.h>
7 * Headers describing the partition table
9 * Copyright (C) 1999, 2002 Samuel Rydh (samuel@ibrium.se)
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation
17 #ifndef _H_PARTITION_TABLE
18 #define _H_PARTITION_TABLE
20 /* This information is based upon IM vol V. */
22 #define DESC_MAP_SIGNATURE 0x4552
23 #define DESC_PART_SIGNATURE 0x504d
25 enum {
26 kPartitionAUXIsValid = 0x00000001,
27 kPartitionAUXIsAllocated = 0x00000002,
28 kPartitionAUXIsInUse = 0x00000004,
29 kPartitionAUXIsBootValid = 0x00000008,
30 kPartitionAUXIsReadable = 0x00000010,
31 kPartitionAUXIsWriteable = 0x00000020,
32 kPartitionAUXIsBootCodePositionIndependent = 0x00000040,
33 kPartitionISMountedAtStartup = 0x40000000,
34 kPartitionIsStartup = 0x80000000,
35 kPartitionIsChainCompatible = 0x00000100,
36 kPartitionIsRealDeviceDriver = 0x00000200,
37 kPartitionCanChainToNext = 0x00000400,
40 typedef struct {
41 u32 ddBlock; /* first block of driver */
42 u16 ddSize; /* driver size in blocks */
43 s16 ddType; /* 1 & -1 for SCSI */
44 } driver_entry_t;
46 typedef struct { /* Block 0 of a device */
47 u16 sbSig; /* always 0x4552 */
48 u16 sbBlockSize; /* 512 */
49 s32 sbBlkCount; /* #blocks on device */
50 u16 sbDevType; /* 0 */
51 u16 sbDevID; /* 0 */
52 u32 sbData; /* 0 */
53 s16 sbDrvrCount; /* #driver descriptors */
55 /* driver entries goes here */
56 driver_entry_t drivers[61] __attribute__ ((packed));
58 u16 filler1;
59 u32 filler2;
60 } desc_map_t;
62 typedef struct { /* Partition descriptor */
63 u16 pmSig; /* always 0x504d 'PM' */
64 u16 pmSigPad; /* 0 */
65 u32 pmMapBlkCnt; /* #blocks in partition map */
66 u32 pmPyPartStart; /* first physical block of part. */
67 u32 pmPartBlkCnt; /* #blocks in partition */
68 char pmPartName[32]; /* partition name */
69 char pmPartType[32]; /* partition type */
71 /* these fields may or may not be used */
72 u32 pmLgDataStart;
73 u32 pmDataCnt;
74 u32 pmPartStatus;
75 u32 pmLgBootStart;
76 u32 pmBootSize;
77 u32 pmBootLoad;
78 u32 pmBootLoad2;
79 u32 pmBootEntry;
80 u32 pmBootEntry2;
81 u32 pmBootCksum;
82 char pmProcessor[16];
84 char filler[376]; /* might contain extra information */
85 } part_entry_t;
88 #endif /* _H_PARTITION_TABLE */