aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Borner2020-09-11 13:18:10 +0200
committerMarvin Borner2020-09-11 13:18:10 +0200
commit8eb9ee85529a6140a533ffeb52f5e7f4078d9f27 (patch)
tree6947d6233b0ed5d6883e3b01c813ba12d468e7a1
parent36d7c86a1e9e72d689d672a0e8576adbc740d541 (diff)
Some testing using the q35 chipset
-rw-r--r--kernel/drivers/acpi.c6
-rwxr-xr-xrun3
2 files changed, 6 insertions, 3 deletions
diff --git a/kernel/drivers/acpi.c b/kernel/drivers/acpi.c
index e853a6f..0db4522 100644
--- a/kernel/drivers/acpi.c
+++ b/kernel/drivers/acpi.c
@@ -83,12 +83,14 @@ void hpet_install(int period)
struct hpet_registers *r = (struct hpet_registers *)hpet->address.phys;
printf("HPET tick period: %dns\n", HPET_MAX_PERIOD / r->tick_period);
if ((r->timer0 & hpet_periodic_support) == hpet_periodic_support) {
- r->config |= hpet_enable;
- r->config |= hpet_legacy_replacement;
r->timer0 |= hpet_periodic | hpet_set_accumulator | hpet_enable_timer;
+ r->config |= hpet_legacy_replacement;
+ r->config |= hpet_enable;
assert(r->tick_period + period < HPET_MAX_PERIOD);
r->timer_comparator0 = r->tick_period + period;
r->timer_comparator0 = period;
+ } else {
+ hpet = NULL;
}
} else {
hpet = NULL;
diff --git a/run b/run
index 95a5942..da28078 100755
--- a/run
+++ b/run
@@ -9,8 +9,9 @@ mode="${1}"
no_ask="${2}"
network="rtl8139"
+# TODO: Support q35 chipset ('-machine q35') - loops in ide_wait
qemu_with_flags() {
- SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-i386 -no-reboot -vga std -rtc base=localtime -m 256M -smp 4 -net nic,model=${network},macaddr=42:42:42:42:42:42 -net user "$@"
+ SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-i386 -cpu max -no-reboot -vga std -rtc base=localtime -m 256M -smp 4 -net nic,model=${network},macaddr=42:42:42:42:42:42 -net user "$@"
}
make_cross() {