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.
This commit is contained in:
cinap_lenrek 2018-10-06 00:26:07 +02:00
parent 567df638ac
commit 83876083c9
4 changed files with 9 additions and 13 deletions

View file

@ -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

View file

@ -8,7 +8,7 @@ objtype=386
p=9
# must match mem.h
APBOOTSTRAP=0xF0003000
APBOOTSTRAP=0xF0007000
KTZERO=0xF0100020
DEVS=`{rc ../port/mkdevlist $CONF}

View file

@ -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

View file

@ -6,7 +6,7 @@ objtype=amd64
p=9
KTZERO=0xffffffff80110000
APBOOTSTRAP=0xffffffff80003000
APBOOTSTRAP=0xffffffff80007000
REBOOTADDR=0x11000
DEVS=`{rc ../port/mkdevlist $CONF}