KVM default off, ack after irq handling
This commit is contained in:
parent
8563961f28
commit
f05cc96db1
9
Makefile
9
Makefile
|
@ -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/%
|
||||||
|
|
|
@ -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();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue