1 /*---------------------------------------------------------------------------*
2   Project:  Dolphin OS Boot info structure
3   File:     OSBootInfo.h
4 
5   Copyright 1998, 1999 Nintendo. All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Log: OSBootInfo.h,v $
14   Revision 1.2  2006/02/04 11:56:47  hashida
15   (none)
16 
17   Revision 1.1.1.1  2005/12/29 06:53:28  hiratsu
18   Initial import.
19 
20   Revision 1.1.1.1  2005/05/12 02:41:07  yasuh-to
21   Ported from dolphin source tree.
22 
23 
24     3     2000/04/05 7:31p Shiki
25     Added comment.
26 
27     2     2000/02/01 8:16p Tian
28     Added comment about consoleType's position.
29 
30     7     1999/11/16 9:48a Hashida
31     Added a magic number for JTAG boot.
32 
33     6     1999/08/11 11:18a Tian
34     Added magic defn and consoleType field.
35 
36     5     1999/08/05 3:12p Tian
37     Moved DVDDiskID to start of structure so BS2 can load the disk ID
38     directly into it.
39 
40     4     1999/08/05 11:10a Hashida
41     Added FSTMaxLength again!
42 
43     3     1999/07/21 9:32p Hashida
44     Added arenaHi, arenaLo
45     Removed FSTMaxSize
46 
47     2     1999/07/13 12:59p Hashida
48     changed the types of FSTLocation and DVDDiskID
49 
50     1     1999/07/13 11:52a Tian
51     Initial checkin.  First cut of OSBootInfo structure.
52   $NoKeywords: $
53  *---------------------------------------------------------------------------*/
54 
55 #include <revolution/types.h>
56 #include <revolution/dvd.h>
57 
58 #ifndef __OSBOOTINFO_H__
59 #define __OSBOOTINFO_H__
60 
61 #define OS_BOOTINFO_MAGIC       0x0D15EA5E
62 #define OS_BOOTINFO_MAGIC_JTAG  0xE5207C22
63 
64 // The location of this structure is in OSLowMem.h
65 // This structure must be 32 byte aligned (BS2 will load
66 // the disk ID directly into here).  As a result, DVDDiskID
67 // MUST BE THE FIRST MEMBER OF THIS STRUCTURE.
68 
69 typedef struct OSBootInfo_s
70 {
71     DVDDiskID  DVDDiskID;       // This must ALWAYS be the first member
72     u32        magic;
73     u32        version;
74 
75     u32        memorySize;      // NOTE: BS2 updates this.  Since BS2 is on the
76                                 // boot rom, you cannot change the position of
77                                 // this field.
78     u32        consoleType;     // NOTE: BS2 updates this.  Since BS2 is on the
79                                 // boot rom, you cannot change the position of
80                                 // this field.
81 
82     void*      arenaLo;         // if non NULL, overrides __ArenaLo
83     void*      arenaHi;         // if non NULL, overrides FSTLocation
84     void*      FSTLocation;     // Start address of "FST area"
85     u32        FSTMaxLength;    // Length of "FST area"
86 } OSBootInfo;
87 
88 
89 #endif // __OSBOOTINFO_H__
90