Initialise VGA video on qemu ourselves.
* boot/i386/qemu/boot.S: Don't call 0xc000. * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable. (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c. (kernel_img_HEADERS): Add pci.h. * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod. * configure.ac: Force unifont on qemu and yeeloong. * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto. (grub_vga_palette_write): Use correct register. * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]: Call grub_qemu_init_cirrus. * kern/i386/qemu/init.c: New file. * term/i386/pc/vga_text.c (inc_y): Never read outside the screen. * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
This commit is contained in:
commit
53f3ef38c5
11 changed files with 340 additions and 108 deletions
|
@ -13,10 +13,13 @@ boot_img_ASFLAGS = $(COMMON_ASFLAGS) -DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_M
|
|||
boot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)$(GRUB_BOOT_MACHINE_LINK_ADDR)
|
||||
boot_img_FORMAT = binary
|
||||
|
||||
kern/i386/qemu/init.c_DEPENDENCIES = ascii.h
|
||||
|
||||
pkglib_PROGRAMS += kernel.img
|
||||
kernel_img_SOURCES = kern/i386/qemu/startup.S \
|
||||
kern/i386/misc.S \
|
||||
kern/i386/coreboot/init.c \
|
||||
kern/i386/qemu/init.c \
|
||||
kern/i386/qemu/mmap.c \
|
||||
kern/i386/halt.c \
|
||||
kern/main.c kern/device.c \
|
||||
|
@ -29,8 +32,9 @@ kernel_img_SOURCES = kern/i386/qemu/startup.S \
|
|||
kern/generic/rtc_get_time_ms.c \
|
||||
kern/generic/millisleep.c \
|
||||
kern/env.c \
|
||||
term/i386/pc/vga_text.c term/i386/vga_common.c \
|
||||
term/i386/pc/vga_text.c term/i386/vga_common.c bus/pci.c \
|
||||
symlist.c
|
||||
kernel_img_HEADERS += pci.h
|
||||
kernel_img_CFLAGS = $(COMMON_CFLAGS) -DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)
|
||||
kernel_img_ASFLAGS = $(COMMON_ASFLAGS) -DGRUB_KERNEL_MACHINE_LINK_ADDR=$(GRUB_KERNEL_MACHINE_LINK_ADDR)
|
||||
kernel_img_LDFLAGS += $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)$(GRUB_KERNEL_MACHINE_LINK_ADDR)
|
||||
|
|
|
@ -60,11 +60,14 @@ serial_mod_SOURCES = term/serial.c
|
|||
serial_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
serial_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# On qemu it's compiled in
|
||||
ifneq ($(platform), qemu)
|
||||
# For pci.mod
|
||||
pkglib_MODULES += pci.mod
|
||||
pci_mod_SOURCES = bus/pci.c
|
||||
pci_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
pci_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
endif
|
||||
|
||||
# For cs5536.mod
|
||||
pkglib_MODULES += cs5536.mod
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue