]> git.saurik.com Git - apple/boot.git/blobdiff - i386/libsaio/bios.h
boot-132.tar.gz
[apple/boot.git] / i386 / libsaio / bios.h
index 3878b87ac0ef4336b81e91d7eb428cabaca0cf8a..f75cc8fe53f814f39cc7fa2cacc93e9e549755cf 100644 (file)
@@ -1,12 +1,12 @@
 /*
- * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
+ * Portions Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights
  * Reserved.  This file contains Original Code and/or Modifications of
  * Original Code as defined in and that are subject to the Apple Public
- * Source License Version 1.1 (the "License").  You may not use this file
+ * Source License Version 2.0 (the "License").  You may not use this file
  * except in compliance with the License.  Please obtain a copy of the
  * License at http://www.apple.com/publicsource and read it before using
  * this file.
@@ -29,6 +29,8 @@
 #ifndef __LIBSAIO_BIOS_H
 #define __LIBSAIO_BIOS_H
 
+#include <pexpert/i386/boot.h>
+
 typedef union {
     unsigned int      rx;
     unsigned short    rr;
@@ -70,4 +72,34 @@ typedef struct {
     machineFlags_t    flags;
 } biosBuf_t;
 
+#define EBIOS_FIXED_DISK_ACCESS   0x01
+#define EBIOS_LOCKING_ACCESS      0x02
+#define EBIOS_ENHANCED_DRIVE_INFO 0x04
+
+#define BASE_HD_DRIVE 0x80
+
+#if 0
+/* 
+ * ACPI defined memory range types.
+ */
+enum {
+    kMemoryRangeUsable   = 1,    // RAM usable by the OS.
+    kMemoryRangeReserved = 2,    // Reserved. (Do not use)
+    kMemoryRangeACPI     = 3,    // ACPI tables. Can be reclaimed.
+    kMemoryRangeNVS      = 4,    // ACPI NVS memory. (Do not use)
+
+    /* Undefined types should be treated as kMemoryRangeReserved */
+}; 
+#endif
+
+/*
+ * Memory range descriptor.
+ */
+typedef struct MemoryRange {
+    unsigned long long base;     // 64-bit base address
+    unsigned long long length;   // 64-bit length in bytes
+    unsigned long      type;     // type of memory range
+    unsigned long      reserved;
+} MemoryRange;
+
 #endif /* !__LIBSAIO_BIOS_H */