]> git.saurik.com Git - apple/boot.git/blobdiff - i386/libsa/memory.h
boot-122.tar.gz
[apple/boot.git] / i386 / libsa / memory.h
index e298dfc99b3a8a2f6b9868347d45ecf3bae5b7d3..a5dbece271be72891acc6430dc1bac64921b83c7 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.
@@ -28,7 +28,7 @@
 /* Memory addresses used by booter and friends */
 
 #define BASE_SEG          0x2000
-#define STACK_SEG         0x3000
+#define STACK_SEG         0x5000
 #define STACK_OFS         0xFFF0      // stack pointer
 
 #define BOOT1U_SEG        0x1000
 #define BOOT2_SEG         BASE_SEG
 #define BOOT2_OFS         0x0200      // 512 byte disk sector offset
 
-#define BIOS_ADDR         0x0C00      // BIOS disk I/O buffer
-#define BIOS_LEN          0x2000      // 8K - divisible by 512 and 2048
+#define BIOS_ADDR         0x8000      // BIOS disk I/O buffer
+#define BIOS_LEN          0x8000      // 32K - divisible by 512 and 2048
+
+#define BOOT0_ADDR        0x7E00      // boot0 gets loaded here
+
 
 /* These are all "virtual" addresses...
  * which are physical addresses plus MEMBASE.
 
 #define MEMBASE           0x0
 
-#define BOOTSTRUCT_ADDR   0x011000    // it's slightly smaller
-#define BOOTSTRUCT_LEN    0x00F000
+#define BOOTSTRUCT_ADDR   0x00011000    // it's slightly smaller
+#define BOOTSTRUCT_LEN    0x0000F000
 
 #define BASE_ADDR         ADDR32(BASE_SEG, 0)
 #define BASE1U_ADDR       ADDR32(BOOT1U_SEG, 0)
 #define BOOT1U_ADDR       ADDR32(BOOT1U_SEG, BOOT1U_OFS)
 #define BOOT2_ADDR        ADDR32(BOOT2_SEG, BOOT2_OFS)
 
-#define VIDEO_ADDR        0x0A0000    // unusable space
-#define VIDEO_LEN         0x060000
+#define HIB_ADDR          0x00040000    // special hibernation area
+#define HIB_LEN           0x00060000
+
+#define VIDEO_ADDR        0x000A0000    // unusable space
+#define VIDEO_LEN         0x00060000
 
-#define KERNEL_ADDR       0x0100000   // 64M kernel + drivers
-#define KERNEL_LEN        0x4000000
+#define KERNEL_ADDR       0x00100000   // 64M kernel + drivers
+#define KERNEL_LEN        0x04000000
 
-#define ZALLOC_ADDR       0x4100000   // 47M zalloc area
-#define ZALLOC_LEN        0x2F00000
+#define ZALLOC_ADDR       0x04100000   // 47M zalloc area
+#define ZALLOC_LEN        0x02F00000
 
-#define LOAD_ADDR         0x7000000   // 16M File load buffer
-#define LOAD_LEN          0x1000000
+#define LOAD_ADDR         0x07000000   // 16M File load buffer
+#define LOAD_LEN          0x01000000
 
 #define TFTP_ADDR         LOAD_ADDR   // tftp download buffer
 #define TFTP_LEN          LOAD_LEN