Re: [SeaBIOS] [PATCH] vgabios: Make the qemu vgabioses selectable when building for coreboot.

2014-09-12 Thread Peter Stuge
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.

2014-09-12 Thread Kevin O'Connor
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.

2014-09-12 Thread Peter Stuge
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.

2014-09-12 Thread Kevin O'Connor
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.

2014-09-12 Thread Peter Stuge
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.

2014-09-10 Thread Denis 'GNUtoo' Carikli
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.

2014-08-26 Thread Kevin O'Connor
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.

2014-08-26 Thread Denis 'GNUtoo' Carikli
-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.

2014-08-24 Thread Denis 'GNUtoo' Carikli
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