diff options
author | 2013-03-19 09:17:52 +0000 | |
---|---|---|
committer | 2013-03-19 09:17:52 +0000 | |
commit | 5a60bede2ff38e7ab52035c0a657e7a84e209bdd (patch) | |
tree | 6477678b4e434232d5decef564b2c7083fd752fa | |
parent | in acpi_sleep_mp() properly flush fpu and halt the AP's (diff) | |
download | wireguard-openbsd-5a60bede2ff38e7ab52035c0a657e7a84e209bdd.tar.xz wireguard-openbsd-5a60bede2ff38e7ab52035c0a657e7a84e209bdd.zip |
instead of treating boot_info->cf_common_addr special, save the whole of boot_info
for future use.
ok yasuoka@
-rw-r--r-- | sys/arch/octeon/dev/octcf.c | 6 | ||||
-rw-r--r-- | sys/arch/octeon/include/octeonvar.h | 4 | ||||
-rw-r--r-- | sys/arch/octeon/octeon/machdep.c | 12 |
3 files changed, 13 insertions, 9 deletions
diff --git a/sys/arch/octeon/dev/octcf.c b/sys/arch/octeon/dev/octcf.c index c6bc39bf5da..70be8b746de 100644 --- a/sys/arch/octeon/dev/octcf.c +++ b/sys/arch/octeon/dev/octcf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: octcf.c,v 1.8 2013/03/15 09:18:19 jasper Exp $ */ +/* $OpenBSD: octcf.c,v 1.9 2013/03/19 09:17:52 jasper Exp $ */ /* $NetBSD: wd.c,v 1.193 1999/02/28 17:15:27 explorer Exp $ */ /* @@ -162,9 +162,9 @@ int octcf_get_params(struct octcf_softc *, struct ataparams *); int octcfprobe(struct device *parent, void *match, void *aux) { - extern uint64_t cf_found; + extern struct boot_info *octeon_boot_info; - if (cf_found == 0) { + if (octeon_boot_info->cf_common_addr == 0) { OCTCFDEBUG_PRINT(("octcfprobe: No cf bus found\n"), DEBUG_FUNCS | DEBUG_PROBE); return 0; } diff --git a/sys/arch/octeon/include/octeonvar.h b/sys/arch/octeon/include/octeonvar.h index 02bbbbabc9d..17f12586340 100644 --- a/sys/arch/octeon/include/octeonvar.h +++ b/sys/arch/octeon/include/octeonvar.h @@ -269,8 +269,8 @@ struct boot_info { uint32_t config_flags; }; -/* Contains the address for the CF bus, if one was found. */ -uint64_t cf_found; +extern struct boot_desc *octeon_boot_desc; +extern struct boot_info *octeon_boot_info; extern struct octeon_config octeon_configuration; diff --git a/sys/arch/octeon/octeon/machdep.c b/sys/arch/octeon/octeon/machdep.c index ed1a5d993dc..f0a6e8cd4f3 100644 --- a/sys/arch/octeon/octeon/machdep.c +++ b/sys/arch/octeon/octeon/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.27 2013/03/15 09:19:31 jasper Exp $ */ +/* $OpenBSD: machdep.c,v 1.28 2013/03/19 09:17:53 jasper Exp $ */ /* * Copyright (c) 2009, 2010 Miodrag Vallat. @@ -92,6 +92,9 @@ struct uvm_constraint_range *uvm_md_constraints[] = { NULL }; vm_map_t exec_map; vm_map_t phys_map; +struct boot_desc *octeon_boot_desc; +struct boot_info *octeon_boot_info; + /* * safepri is a safe priority for sleep to set for a spin-wait * during autoconfiguration or after a panic. @@ -248,7 +251,6 @@ mips_init(__register_t a0, __register_t a1, __register_t a2 __unused, extern char start[], edata[], end[]; extern char exception[], e_exception[]; extern void xtlb_miss; - extern uint64_t cf_found; boot_desc = (struct boot_desc *)a3; boot_info = @@ -362,10 +364,12 @@ mips_init(__register_t a0, __register_t a1, __register_t a2 __unused, tlb_init(bootcpu_hwinfo.tlbsize); /* - * Save some initial values needed for device configuration. + * Save the the boot information for future reference since we can't + * retrieve it anymore after we've fully bootstrapped the kernel. */ - bcopy(&boot_info->cf_common_addr, &cf_found, sizeof(cf_found)); + bcopy(&boot_info, &octeon_boot_info, sizeof(octeon_boot_info)); + bcopy(&boot_desc, &octeon_boot_desc, sizeof(octeon_boot_desc)); /* * Get a console, very early but after initial mapping setup. |