Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
Kevin O'Connor wrote: Although SeaVGABIOS is in the SeaBIOS git repo, it builds a totally separate ROM. How much source code overlap is there? //Peter ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
On Fri, Sep 12, 2014 at 11:43:51PM +0200, Peter Stuge wrote: Kevin O'Connor wrote: Although SeaVGABIOS is in the SeaBIOS git repo, it builds a totally separate ROM. How much source code overlap is there? From the makefile, these seabios files get pulled into seavgabios: src/output.c src/string.c src/hw/pci.c src/hw/serialio.c src/fw/coreboot.c It's basically debugging, pci config access, some simple string functions, and coreboot table traversal. There are also some header files that get pulled in for generic definitions (eg, src/x86.h, src/std/*.h). -Kevin ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
Kevin O'Connor wrote: Although SeaVGABIOS is in the SeaBIOS git repo, it builds a totally separate ROM. How much source code overlap is there? It's basically debugging, pci config access, some simple string functions, and coreboot table traversal. Would it make sense to turn them into two separate projects? //Peter ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
On Sat, Sep 13, 2014 at 12:41:54AM +0200, Peter Stuge wrote: Kevin O'Connor wrote: Although SeaVGABIOS is in the SeaBIOS git repo, it builds a totally separate ROM. How much source code overlap is there? It's basically debugging, pci config access, some simple string functions, and coreboot table traversal. Would it make sense to turn them into two separate projects? If by separate projects you mean different web sites, email lists, etc, then no, I don't think it would be worth it. If you mean separate git repos, then that is an open question. I'd lean towards keeping them together right now. Although they produce mostly separate binaries, there is a bit of infrastructure and conceptual overlap to the building and executing of 16bit code that they both share. -Kevin ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
Kevin O'Connor wrote: Would it make sense to turn them into two separate projects? If you mean separate git repos, then that is an open question. Right, that's what I meant. I'd lean towards keeping them together right now. Could another option be to allow building of both, without needing to reconfigure in between? It does make sense to me to have two repos for what seems to be two mostly different codebases resulting in very different binaries. //Peter ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
On Tue, 26 Aug 2014 15:44:57 -0400 Kevin O'Connor ke...@koconnor.net wrote: Here's an example of my test configuration: [...] There is a lot of possible variations for such setup: Coreboot: [...] SeaBIOS: - * Hardware specific VGA helpers(VGAHOOKS) enabled or disabled. * Then there is the choice of building no option rom(CONFIG_NO_VGABIOS), or building the coreboot linear framebuffer one (CONFIG_VGA_COREBOOT). I think you may be confusing SeaBIOS with SeaVGABIOS. Although SeaVGABIOS is in the SeaBIOS git repo, it builds a totally separate ROM. The choices under the VGA ROM menu only impact the creation of SeaVGABIOS (which results in out/vgabios.rom). The options in that menu have no impact on the main SeaBIOS rom (out/bios.bin.elf). I was aware of it, but the way I phrased it is misleading indeed, sorry for the confusion. By default, QEMU now uses SeaVGABIOS ROMS. So, I don't see why you'd want to recompile them. But, if you do, then select CONFIG_QEMU, select CONFIG_VGA_CIRRUS (or CONFIG_VGA_BOCHS), then run make, and then copy the vgarom to your qemu area (cp out/vgabios.bin /path/to/somewhere/). You can then change SeaBIOS back to build for coreboot (select CONFIG_COREBOOT) and build the SeaBIOS rom for coreboot. Yes, the idea was to make it easy for everybody, and not to have to change configuration for building the option rom: some options in .config might have been lost because of that (since Kconfig do select some options based on what the current configuration is). I think you can by adding -device cirrus-vga,romfile= to the QEMU command line. It may need additional tweaks though. Thanks a lot for the tip, I'll try when I find the time. Denis. signature.asc Description: PGP signature ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
On Tue, Aug 26, 2014 at 12:56:18AM +0200, Denis 'GNUtoo' Carikli wrote: On Mon, 25 Aug 2014 11:35:14 -0400 Kevin O'Connor ke...@koconnor.net wrote: On Sun, Aug 24, 2014 at 11:45:35PM +0200, Denis 'GNUtoo' Carikli wrote: The qemu vgabioses can be usefull in coreboot, since coreboot does support qemu. I'm not sure why you'd want to build the QEMU vga roms when CONFIG_COREBOOT is set. All it would do is rebuild the same roms that already come with QEMU. I have some i945 laptops which have coreboot with the native GPU initialization. (I've also an Alix-1c with a geode LX). So, I wanted to have a (virtual) machine that is closer to my coreboot machines. The goal is to test the payloads way faster with qemu, then once ready, to try the payload on the real hardware. Right now qemu uses the roms that comes with it, and it probably make it looks like a flash chip that is on the (virtual) GPU. That's right, by default QEMU places SeaVGABIOS in the VGA device's PCI ROM BAR. Here's an example of my test configuration: Coreboot loads grub. Then grub has an entry for SeaBIOS. At that point the goal is to have a functional SeaBIOS with keyboard and VGA graphics. There is a lot of possible variations for such setup: Coreboot: - - * Both setup(i945 laptops and qemu) can run a VGA option rom(CONFIG_ON_DEVICE_ROM_RUN), or not. They can run the rom in two different ways: * native(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) * secure(CONFIG_PCI_OPTION_ROM_RUN_YABEL) * It can use native graphics initialization (CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT), but its selection seem to be forced for qemu, it's not for the i945 laptops. * It can switch to VESA(CONFIG_FRAMEBUFFER_KEEP_VESA_MODE) or keep the coreboot framebuffer mode * With qemu(not yet available for the i945 laptops), it can choose a resolution resolution(CONFIG_FRAMEBUFFER_SET_VESA_MODE) SeaBIOS: - * Hardware specific VGA helpers(VGAHOOKS) enabled or disabled. * Then there is the choice of building no option rom(CONFIG_NO_VGABIOS), or building the coreboot linear framebuffer one (CONFIG_VGA_COREBOOT). I think you may be confusing SeaBIOS with SeaVGABIOS. Although SeaVGABIOS is in the SeaBIOS git repo, it builds a totally separate ROM. The choices under the VGA ROM menu only impact the creation of SeaVGABIOS (which results in out/vgabios.rom). The options in that menu have no impact on the main SeaBIOS rom (out/bios.bin.elf). Given the ammount of variations, testing on qemu could save a lot of time, even if testing on real hardware is unavoidable. The i945 laptops don't have free software standalone VGA option roms. But given the number of possibilites for testing on qemu, I was wondering if disabling all the VGA related options in coreboot, and only using SeaBIOS's vga option roms for qemu could help for getting started. By default, QEMU now uses SeaVGABIOS ROMS. So, I don't see why you'd want to recompile them. But, if you do, then select CONFIG_QEMU, select CONFIG_VGA_CIRRUS (or CONFIG_VGA_BOCHS), then run make, and then copy the vgarom to your qemu area (cp out/vgabios.bin /path/to/somewhere/). You can then change SeaBIOS back to build for coreboot (select CONFIG_COREBOOT) and build the SeaBIOS rom for coreboot. That would give a (hopefully working) reference configuration. Then I would step by step modify the configurations to get something closer to the i945 laptops. PS: Maybe someone has a hint on how to disable the flash chip that is on the (virtual) GPU in qemu? I think you can by adding -device cirrus-vga,romfile= to the QEMU command line. It may need additional tweaks though. -Kevin ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Mon, 25 Aug 2014 11:35:14 -0400 Kevin O'Connor ke...@koconnor.net wrote: On Sun, Aug 24, 2014 at 11:45:35PM +0200, Denis 'GNUtoo' Carikli wrote: The qemu vgabioses can be usefull in coreboot, since coreboot does support qemu. I'm not sure why you'd want to build the QEMU vga roms when CONFIG_COREBOOT is set. All it would do is rebuild the same roms that already come with QEMU. I have some i945 laptops which have coreboot with the native GPU initialization. (I've also an Alix-1c with a geode LX). So, I wanted to have a (virtual) machine that is closer to my coreboot machines. The goal is to test the payloads way faster with qemu, then once ready, to try the payload on the real hardware. Right now qemu uses the roms that comes with it, and it probably make it looks like a flash chip that is on the (virtual) GPU. Here's an example of my test configuration: Coreboot loads grub. Then grub has an entry for SeaBIOS. At that point the goal is to have a functional SeaBIOS with keyboard and VGA graphics. There is a lot of possible variations for such setup: Coreboot: - - * Both setup(i945 laptops and qemu) can run a VGA option rom(CONFIG_ON_DEVICE_ROM_RUN), or not. They can run the rom in two different ways: * native(CONFIG_PCI_OPTION_ROM_RUN_REALMODE) * secure(CONFIG_PCI_OPTION_ROM_RUN_YABEL) * It can use native graphics initialization (CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT), but its selection seem to be forced for qemu, it's not for the i945 laptops. * It can switch to VESA(CONFIG_FRAMEBUFFER_KEEP_VESA_MODE) or keep the coreboot framebuffer mode * With qemu(not yet available for the i945 laptops), it can choose a resolution resolution(CONFIG_FRAMEBUFFER_SET_VESA_MODE) SeaBIOS: - * Hardware specific VGA helpers(VGAHOOKS) enabled or disabled. * Then there is the choice of building no option rom(CONFIG_NO_VGABIOS), or building the coreboot linear framebuffer one (CONFIG_VGA_COREBOOT). Given the ammount of variations, testing on qemu could save a lot of time, even if testing on real hardware is unavoidable. The i945 laptops don't have free software standalone VGA option roms. But given the number of possibilites for testing on qemu, I was wondering if disabling all the VGA related options in coreboot, and only using SeaBIOS's vga option roms for qemu could help for getting started. That would give a (hopefully working) reference configuration. Then I would step by step modify the configurations to get something closer to the i945 laptops. PS: Maybe someone has a hint on how to disable the flash chip that is on the (virtual) GPU in qemu? Denis. -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBAgAGBQJT+78wAAoJENWQk6o21VqZaNUP/j0LJc2ZPNm1O4SgSbaB9wkP zpV+pQdKLc8m9IkZG/BiwbhFovLbhTWKCAEduJ7VIQ5+kYpq1ITvJJ2AiPDHH8h+ t4WEqPkpGAY6PDwnfbjDlk1l1MimpaqLVGft5Yg5hE6KNmeKJdKcUEnMbgUVTbWs PlczC3UdB7Q3AuXVV1xrFKuw4Li+idalRyurVIHeRxjtV/Vz7mP3+9FaajoNZgrS mE0Z6pTdf2jbhVT8ZbLHW6wV3bEMuDj8zd0Ao0ca5Wfwln+K+MD1jPEANKgLc9GZ 1Ka0LLvde8IdfWt4mcyQ1LrbcUnn6Eq+5YKclfj8K7LAUNJwyyvTJbvafq2OrSZW 8inUIEs2Rwygigy3ZsFjsjLGmvUKqJMZQDqHBmRZ+2PZcAcAIKlZR9ZuDf83NOhG 0tHa08qv5mRKmf5vZ2aSixrwZhnyePS5iM08qCut1HQixP3xgTB3LkxSnTI8DkfO R/DQkR7v5seuILyM/Z+1hUd3EeAuU+6RLALWl7obPl1g2Y4HO+x7nkvvGzrlQ0rt sbJGJC5Npb7hbTERiAbFA1XER83tHT6jcbjnuzNEEQEnF4RxQHrAC64CrOCeec4W W1uX/aoOUyXHCjiBWQTR6j1hjL8p22AJup+k6A3cN4uSVMBROZ4G0IAwkCimkpci osU0ndqYjDyY6+l44PNm =f+m7 -END PGP SIGNATURE- ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
[SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.
The qemu vgabioses can be usefull in coreboot, since coreboot does support qemu. Signed-off-by: Denis 'GNUtoo' Carikli gnu...@no-log.org --- vgasrc/Kconfig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vgasrc/Kconfig b/vgasrc/Kconfig index 951240c..719c90b 100644 --- a/vgasrc/Kconfig +++ b/vgasrc/Kconfig @@ -11,7 +11,7 @@ menu VGA ROM Do not build a VGA BIOS. config VGA_STANDARD_VGA -depends on QEMU +depends on QEMU_HARDWARE bool QEMU/Bochs Original IBM 256K VGA select VGA_STDVGA_PORTS help @@ -19,7 +19,7 @@ menu VGA ROM on emulators. config VGA_CIRRUS -depends on QEMU +depends on QEMU_HARDWARE bool QEMU/Bochs Cirrus SVGA select VGA_STDVGA_PORTS help @@ -28,7 +28,7 @@ menu VGA ROM intended for use on real Cirrus hardware. config VGA_BOCHS -depends on QEMU +depends on QEMU_HARDWARE bool QEMU/Bochs VBE SVGA select VGA_STDVGA_PORTS help -- 2.1.0 ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios