summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/main.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-10-18 02:01:58 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2014-10-18 02:01:58 +0200
commit0a6439a1f564de17bfad7a327178e47483a86e1a (patch)
tree7866ca8d37f138ecbbdc4fc8f9afa1376bc7ae44 /sys/src/9/pc/main.c
parent81e0d6e988289c983445f855583496048fb4c61b (diff)
pc, pc64: allow passing RSDT pointer in *acpi= boot parameter, early bootscreeninit(), fix rampage() usage
rampage() cannot be used after meminit(), so test for conf.mem[0].npage != 0 and use xalloc()/mallocalign() instead. this allows us to use vmap() early before mmuinit() which is needed for bootscreeninit() and acpi. to get memory for page tables, pc64 needs a lowraminit(). with EFI, the RSDT pointer is passed in *acpi= parameter from the efi loader. as the RSDT is ususally at the end of the physical address space (and not to be found in bios areas), we cannot KMAP() it so we need to vmap().
Diffstat (limited to 'sys/src/9/pc/main.c')
-rw-r--r--sys/src/9/pc/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/9/pc/main.c b/sys/src/9/pc/main.c
index 637895575..2f2e9d04c 100644
--- a/sys/src/9/pc/main.c
+++ b/sys/src/9/pc/main.c
@@ -146,15 +146,15 @@ main(void)
cpuidentify();
meminit();
confinit();
- archinit();
xinit();
+ archinit();
+ bootscreeninit();
if(i8237alloc != nil)
i8237alloc();
trapinit();
printinit();
cpuidprint();
mmuinit();
- bootscreeninit();
if(arch->intrinit) /* launches other processors on an mp */
arch->intrinit();
timersinit();