From f05cc96db1609b62877f471a4ce48d68ffaae42b Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 11 Sep 2016 15:13:09 -0600 Subject: [PATCH] KVM default off, ack after irq handling --- Makefile | 13 ++++++------- arch/x86_64/src/interrupt/irq.rs | 30 +++++++++++++++--------------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index b43674c..18e48ab 100644 --- a/Makefile +++ b/Makefile @@ -48,19 +48,18 @@ qemu: $(KBUILD)/harddrive.bin else LD=ld QEMUFLAGS+=-machine q35 -smp 4 -ifneq ($(kvm),no) - QEMUFLAGS+=-enable-kvm -cpu host -endif -ifeq ($(vga),no) - QEMUFLAGS+=-nographic -vga none -endif + ifeq ($(kvm),yes) + QEMUFLAGS+=-enable-kvm -cpu host + endif + ifeq ($(vga),no) + QEMUFLAGS+=-nographic -vga none + endif #,int,pcall #-device intel-iommu UNAME := $(shell uname) ifeq ($(UNAME),Darwin) LD=$(ARCH)-elf-ld - QEMUFLAGS= endif build/%.list: build/% diff --git a/arch/x86_64/src/interrupt/irq.rs b/arch/x86_64/src/interrupt/irq.rs index c0c0db4..ee5f72d 100644 --- a/arch/x86_64/src/interrupt/irq.rs +++ b/arch/x86_64/src/interrupt/irq.rs @@ -19,80 +19,80 @@ interrupt!(pit, { }); interrupt!(keyboard, { - master_ack(); if let Some(ref mut keyboard) = *PS2_KEYBOARD.lock(){ keyboard.on_irq(); } + master_ack(); }); interrupt!(cascade, { - master_ack(); print!("CASCADE\n"); + master_ack(); }); interrupt!(com2, { - master_ack(); COM2.lock().on_receive(); + master_ack(); }); interrupt!(com1, { - master_ack(); COM1.lock().on_receive(); + master_ack(); }); interrupt!(lpt2, { - master_ack(); print!("LPT2\n"); + master_ack(); }); interrupt!(floppy, { - master_ack(); print!("FLOPPY\n"); + master_ack(); }); interrupt!(lpt1, { - master_ack(); print!("LPT1\n"); + master_ack(); }); interrupt!(rtc, { - slave_ack(); print!("RTC\n"); + slave_ack(); }); interrupt!(pci1, { - slave_ack(); print!("PCI1\n"); + slave_ack(); }); interrupt!(pci2, { - slave_ack(); print!("PCI2\n"); + slave_ack(); }); interrupt!(pci3, { - slave_ack(); print!("PCI3\n"); + slave_ack(); }); interrupt!(mouse, { - slave_ack(); if let Some(ref mut mouse) = *PS2_MOUSE.lock() { mouse.on_irq(); } + slave_ack(); }); interrupt!(fpu, { - slave_ack(); print!("FPU\n"); + slave_ack(); }); interrupt!(ata1, { - slave_ack(); print!("ATA1\n"); + slave_ack(); }); interrupt!(ata2, { - slave_ack(); print!("ATA2\n"); + slave_ack(); });