diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-10-06 00:26:07 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-10-06 00:26:07 +0200 |
commit | 83876083c9bba29e01ce1a82cba77d84f6382f07 (patch) | |
tree | 3f1dcb8296787e9463fb2c415d5d08174ac79743 | |
parent | 567df638ac46091d64d6616f429293b6ed3a3675 (diff) |
pc, pc64: increase CONFADDR buffer from 4K to 24K
move APBOOTSTRAP and TMPADDR to make space available for
boot parameters. which can become quite long such as *e820.
-rw-r--r-- | sys/src/9/pc/mem.h | 10 | ||||
-rw-r--r-- | sys/src/9/pc/mkfile | 2 | ||||
-rw-r--r-- | sys/src/9/pc64/mem.h | 8 | ||||
-rw-r--r-- | sys/src/9/pc64/mkfile | 2 |
4 files changed, 9 insertions, 13 deletions
diff --git a/sys/src/9/pc/mem.h b/sys/src/9/pc/mem.h index 6de469cb3..79ed4347b 100644 --- a/sys/src/9/pc/mem.h +++ b/sys/src/9/pc/mem.h @@ -57,8 +57,8 @@ * Fundamental addresses - bottom 64kB saved for return to real mode */ #define CONFADDR (KZERO+0x1200) /* info passed from boot loader */ -#define TMPADDR (KZERO+0x2000) /* used for temporary mappings */ -#define APBOOTSTRAP (KZERO+0x3000) /* AP bootstrap code */ +#define APBOOTSTRAP (KZERO+0x7000) /* AP bootstrap code (overlaps CONFADDR) */ +#define TMPADDR (KZERO+0x8000) /* used for temporary mappings */ #define IDTADDR (KZERO+0x10800) /* idt */ #define REBOOTADDR (0x11000) /* reboot code - physical address */ #define CPU0PDB (KZERO+0x12000) /* bootstrap processor PDB */ @@ -79,14 +79,12 @@ /* * Where configuration info is left for the loaded programme. - * This will turn into a structure as more is done by the boot loader - * (e.g. why parse the .ini file twice?). - * There are 3584 bytes available at CONFADDR. + * There are 24064 bytes available at CONFADDR. */ #define BOOTLINE ((char*)CONFADDR) #define BOOTLINELEN 64 #define BOOTARGS ((char*)(CONFADDR+BOOTLINELEN)) -#define BOOTARGSLEN (4096-0x200-BOOTLINELEN) +#define BOOTARGSLEN (0x6000-0x200-BOOTLINELEN) /* * known x86 segments (in GDT) and their selectors diff --git a/sys/src/9/pc/mkfile b/sys/src/9/pc/mkfile index 850a08092..ee05c3a29 100644 --- a/sys/src/9/pc/mkfile +++ b/sys/src/9/pc/mkfile @@ -8,7 +8,7 @@ objtype=386 p=9 # must match mem.h -APBOOTSTRAP=0xF0003000 +APBOOTSTRAP=0xF0007000 KTZERO=0xF0100020 DEVS=`{rc ../port/mkdevlist $CONF} diff --git a/sys/src/9/pc64/mem.h b/sys/src/9/pc64/mem.h index 4c07bf99b..e2d93cc4a 100644 --- a/sys/src/9/pc64/mem.h +++ b/sys/src/9/pc64/mem.h @@ -64,7 +64,7 @@ * Fundamental addresses - bottom 64kB saved for return to real mode */ #define CONFADDR (KZERO+0x1200ull) /* info passed from boot loader */ -#define APBOOTSTRAP (KZERO+0x3000ull) /* AP bootstrap code */ +#define APBOOTSTRAP (KZERO+0x7000ull) /* AP bootstrap code */ #define IDTADDR (KZERO+0x10000ull) /* idt */ #define REBOOTADDR (0x11000) /* reboot code - physical address */ @@ -82,14 +82,12 @@ /* * Where configuration info is left for the loaded programme. - * This will turn into a structure as more is done by the boot loader - * (e.g. why parse the .ini file twice?). - * There are 3584 bytes available at CONFADDR. + * There are 24064 bytes available at CONFADDR. */ #define BOOTLINE ((char*)CONFADDR) #define BOOTLINELEN 64 #define BOOTARGS ((char*)(CONFADDR+BOOTLINELEN)) -#define BOOTARGSLEN (4096-0x200-BOOTLINELEN) +#define BOOTARGSLEN (0x6000-0x200-BOOTLINELEN) /* * known x86 segments (in GDT) and their selectors diff --git a/sys/src/9/pc64/mkfile b/sys/src/9/pc64/mkfile index f4531fa66..51204dcee 100644 --- a/sys/src/9/pc64/mkfile +++ b/sys/src/9/pc64/mkfile @@ -6,7 +6,7 @@ objtype=amd64 p=9 KTZERO=0xffffffff80110000 -APBOOTSTRAP=0xffffffff80003000 +APBOOTSTRAP=0xffffffff80007000 REBOOTADDR=0x11000 DEVS=`{rc ../port/mkdevlist $CONF} |