aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorSergio Lopez <slp@redhat.com>2019-07-24 12:51:26 +0200
committerPaolo Bonzini <bonzini@gnu.org>2019-07-24 16:55:26 +0200
commit947bade3443facfb07f20ca10b4436bc9eb4ef27 (patch)
tree1479749ffff629b1ac1b8dd0b49e73cda835ed6d /main.c
parentf8d4dd25732f518001bfbec1fae01902edabcb4b (diff)
downloadqboot-947bade3443facfb07f20ca10b4436bc9eb4ef27.zip
qboot-947bade3443facfb07f20ca10b4436bc9eb4ef27.tar.gz
qboot-947bade3443facfb07f20ca10b4436bc9eb4ef27.tar.bz2
support machines without PCI
Instead of panicing when a PCI bus isn't found, continue booting without PCI nor ACPI initialization. Signed-off-by: Sergio Lopez <slp@redhat.com>
Diffstat (limited to 'main.c')
-rw-r--r--main.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/main.c b/main.c
index f66693b..b20a7de 100644
--- a/main.c
+++ b/main.c
@@ -79,10 +79,11 @@ static void extract_e820(void)
int __attribute__ ((section (".text.startup"))) main(void)
{
+ bool have_pci;
#ifdef BENCHMARK_HACK
outb(FW_EXIT_PORT, FW_START);
#endif
- setup_hw();
+ have_pci = setup_hw();
// Only the 16-bit trampoline for vmlinuz and the 16-bit interrupt
// handlers need to run from the F-segment, but keep things simple
@@ -90,7 +91,9 @@ int __attribute__ ((section (".text.startup"))) main(void)
asm("ljmp $0x8, $1f; 1:");
have_mmconfig = setup_mmconfig();
- setup_pci();
+ if (have_pci) {
+ setup_pci();
+ }
setup_idt();
fw_cfg_setup();
extract_acpi();