KVM default off, ack after irq handling

This commit is contained in:
Jeremy Soller 2016-09-11 15:13:09 -06:00
parent 8563961f28
commit f05cc96db1
2 changed files with 21 additions and 22 deletions

View file

@ -48,19 +48,18 @@ qemu: $(KBUILD)/harddrive.bin
else else
LD=ld LD=ld
QEMUFLAGS+=-machine q35 -smp 4 QEMUFLAGS+=-machine q35 -smp 4
ifneq ($(kvm),no) ifeq ($(kvm),yes)
QEMUFLAGS+=-enable-kvm -cpu host QEMUFLAGS+=-enable-kvm -cpu host
endif endif
ifeq ($(vga),no) ifeq ($(vga),no)
QEMUFLAGS+=-nographic -vga none QEMUFLAGS+=-nographic -vga none
endif endif
#,int,pcall #,int,pcall
#-device intel-iommu #-device intel-iommu
UNAME := $(shell uname) UNAME := $(shell uname)
ifeq ($(UNAME),Darwin) ifeq ($(UNAME),Darwin)
LD=$(ARCH)-elf-ld LD=$(ARCH)-elf-ld
QEMUFLAGS=
endif endif
build/%.list: build/% build/%.list: build/%

View file

@ -19,80 +19,80 @@ interrupt!(pit, {
}); });
interrupt!(keyboard, { interrupt!(keyboard, {
master_ack();
if let Some(ref mut keyboard) = *PS2_KEYBOARD.lock(){ if let Some(ref mut keyboard) = *PS2_KEYBOARD.lock(){
keyboard.on_irq(); keyboard.on_irq();
} }
master_ack();
}); });
interrupt!(cascade, { interrupt!(cascade, {
master_ack();
print!("CASCADE\n"); print!("CASCADE\n");
master_ack();
}); });
interrupt!(com2, { interrupt!(com2, {
master_ack();
COM2.lock().on_receive(); COM2.lock().on_receive();
master_ack();
}); });
interrupt!(com1, { interrupt!(com1, {
master_ack();
COM1.lock().on_receive(); COM1.lock().on_receive();
master_ack();
}); });
interrupt!(lpt2, { interrupt!(lpt2, {
master_ack();
print!("LPT2\n"); print!("LPT2\n");
master_ack();
}); });
interrupt!(floppy, { interrupt!(floppy, {
master_ack();
print!("FLOPPY\n"); print!("FLOPPY\n");
master_ack();
}); });
interrupt!(lpt1, { interrupt!(lpt1, {
master_ack();
print!("LPT1\n"); print!("LPT1\n");
master_ack();
}); });
interrupt!(rtc, { interrupt!(rtc, {
slave_ack();
print!("RTC\n"); print!("RTC\n");
slave_ack();
}); });
interrupt!(pci1, { interrupt!(pci1, {
slave_ack();
print!("PCI1\n"); print!("PCI1\n");
slave_ack();
}); });
interrupt!(pci2, { interrupt!(pci2, {
slave_ack();
print!("PCI2\n"); print!("PCI2\n");
slave_ack();
}); });
interrupt!(pci3, { interrupt!(pci3, {
slave_ack();
print!("PCI3\n"); print!("PCI3\n");
slave_ack();
}); });
interrupt!(mouse, { interrupt!(mouse, {
slave_ack();
if let Some(ref mut mouse) = *PS2_MOUSE.lock() { if let Some(ref mut mouse) = *PS2_MOUSE.lock() {
mouse.on_irq(); mouse.on_irq();
} }
slave_ack();
}); });
interrupt!(fpu, { interrupt!(fpu, {
slave_ack();
print!("FPU\n"); print!("FPU\n");
slave_ack();
}); });
interrupt!(ata1, { interrupt!(ata1, {
slave_ack();
print!("ATA1\n"); print!("ATA1\n");
slave_ack();
}); });
interrupt!(ata2, { interrupt!(ata2, {
slave_ack();
print!("ATA2\n"); print!("ATA2\n");
slave_ack();
}); });