#include <libkern/OSTypes.h>
+typedef enum {
+ kCoprocessorVersionNone = 0x00000000,
+ kCoprocessorVersion1 = 0x00010000,
+ kCoprocessorVersion2 = 0x00020000,
+} coprocessor_type_t;
+
+
extern boolean_t PEGetMachineName( char * name, int maxLength );
extern boolean_t PEGetModelName( char * name, int maxLength );
extern int PEGetPlatformEpoch( void );
extern int (*PE_halt_restart)(unsigned int type);
extern int PEHaltRestart(unsigned int type);
+#ifdef XNU_KERNEL_PRIVATE
+enum {
+ kIOSystemShutdownNotificationStageProcessExit = 0,
+ kIOSystemShutdownNotificationStageRootUnmount = 1,
+};
+extern void IOSystemShutdownNotification(int stage);
+#endif /* XNU_KERNEL_PRIVATE */
+
// Save the Panic Info. Returns the number of bytes saved.
extern UInt32 PESavePanicInfo(UInt8 *buffer, UInt32 length);
-extern void PESavePanicInfoAction(void *buffer, size_t length);
+extern void PESavePanicInfoAction(void *buffer, UInt32 offset, UInt32 length);
+
+/*
+ * SMC requires that all data is flushed in multiples of 16 bytes at 16 byte
+ * boundaries.
+ */
+#define PANIC_FLUSH_BOUNDARY 16
extern long PEGetGMTTimeOfDay( void );
extern void PESetGMTTimeOfDay( long secs );
extern boolean_t PERemoveNVRAMProperty(const char *symbol);
+extern coprocessor_type_t PEGetCoprocessorVersion( void );
+
#ifdef __cplusplus
} /* extern "C" */
#define kIOPlatformMapperPresentKey "IOPlatformMapperPresent"
+
+
extern OSSymbol * gPlatformInterruptControllerName;
extern const OSSymbol * gIOPlatformSleepActionKey;
int numInstancesRegistered;
struct ExpansionData { };
- ExpansionData *reserved;
+ ExpansionData *iope_reserved __unused;
virtual void setBootROMType(long peBootROMType);
virtual void setChipSetType(long peChipSetType);
IODTNVRAM *dtNVRAM;
struct ExpansionData { };
- ExpansionData *reserved;
+ ExpansionData *iodtpe_reserved;
public:
virtual IOService * probe( IOService * provider,
IOWorkLoop *workLoop;
struct ExpansionData { };
- ExpansionData *reserved;
+ ExpansionData *ioped_reserved __unused;
public:
virtual bool initWithArgs( void * p1, void * p2,
OSDeclareDefaultStructors(IOPlatformDevice)
struct ExpansionData { };
- ExpansionData *reserved;
+ ExpansionData *iopd_reserved;
public:
virtual bool compareName( OSString * name, OSString ** matched = 0 ) const APPLE_KEXT_OVERRIDE;