Every other vbios impl in seabios does this so we should
do it too.
Signed-off-by: Christian Gmeiner <christian.gmeiner(a)gmail.com>
---
vgasrc/geodevga.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vgasrc/geodevga.c b/vgasrc/geodevga.c
index c634f79..f7fd895 100644
--- a/vgasrc/geodevga.c
+++ b/vgasrc/geodevga.c
@@ -345,6 +345,9 @@ int geodevga_init(void)
dprintf(1,"GEODEVGA_INIT legacyio_check=0x%x\n",ret);
}
+ if (GET_GLOBAL(HaveRunInit))
+ return 0;
+
// Updated timings from geode datasheets, table 6-53 in particular
static u8 *new_crtc[] VAR16 = {
geode_crtc_01, geode_crtc_01, geode_crtc_03, geode_crtc_03,
--
1.7.11.rc2.5.g68f532f
There is no reason to have a return value of type int for
dc_setup() and vp_setup() as they return nothing else then
0. Also add missing static to vp_setup().
Signed-off-by: Christian Gmeiner <christian.gmeiner(a)gmail.com>
---
vgasrc/geodevga.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/vgasrc/geodevga.c b/vgasrc/geodevga.c
index 5c6caf0..c634f79 100644
--- a/vgasrc/geodevga.c
+++ b/vgasrc/geodevga.c
@@ -210,7 +210,7 @@ static void dc_unmap(void)
* for features not accessible from the VGA registers,
* the dc's pci bar can be mapped to a vga memory segment
*/
-static int dc_setup(void)
+static void dc_setup(void)
{
u32 fb, dc_fb;
u16 seg;
@@ -237,8 +237,6 @@ static int dc_setup(void)
dc_lock(seg);
dc_unmap();
-
- return 0;
}
/* Setup the vp (video processor) portion of the geodelx
@@ -247,7 +245,7 @@ static int dc_setup(void)
* The High Mem Access virtual register is used to configure the
* pci mmio bar from 16bit friendly io space.
*/
-int vp_setup(void)
+static void vp_setup(void)
{
u32 reg,vp;
@@ -277,8 +275,6 @@ int vp_setup(void)
geode_memWrite(vp+VP_DCFG,
~0,VP_CRT_EN+VP_HSYNC_EN+VP_VSYNC_EN+VP_DAC_BL_EN+VP_CRT_SKEW);
reg = geode_memRead(vp+VP_DCFG);
dprintf(1,"VP_SETUP VP_DCFG=0x%08x\n",reg);
-
- return 0;
}
static u8 geode_crtc_01[] VAR16 = {
@@ -366,8 +362,9 @@ int geodevga_init(void)
if (GET_GLOBAL(VgaBDF) < 0)
// Device should be at 00:01.1
SET_VGA(VgaBDF, pci_to_bdf(0, 1, 1));
- ret |= vp_setup();
- ret |= dc_setup();
+
+ vp_setup();
+ dc_setup();
return ret;
}
--
1.7.11.rc2.5.g68f532f
The 1.7.1 version of SeaBIOS has now been released. For more
information on the release, please see:
http://seabios.org/Releases
New in this release:
* Initial support for booting from USB attached scsi (USB UAS) drives
* USB EHCI 64bit controller support
* USB MSC multi-LUN device support
* Support for booting from LSI SCSI controllers on emulators
* Support for booting from AMD PCscsi controllers on emulators
* New PCI allocation code on emulators. Support 64bit PCI bars and mapping them above 4G.
* Support for non-linear APIC ids on emulators.
* Stack switching for 16bit real mode irq handlers to reduce stack footprint.
* Support for custom storage in the memory at 0xc0000-0xf0000. No longer reserve memory for custom storage in first 640k.
* Improved code generation for 16bit segment register loads
* Boot code will now (by default) reboot after 60 seconds if no boot device found
* CBFS and FWCFG "files" are now only scanned one time
* Several bug fixes
For information on obtaining SeaBIOS, please see:
http://seabios.org/Download
Can SeaBIOS output colored text?
It would be good to highlight keys.
such as "Press F12 for menu" then highlight "F12".
Other BIOS such as Award and AMI can use colors in text.
Example "Press F12 for boot menu", then "F12" is in highlighted color.
On Fri, Aug 31, 2012 at 4:21 PM, Christian Gmeiner
<christian.gmeiner(a)gmail.com> wrote:
> Hi all,
>
> I posted some patches to the ML and want to discuss a part of if - DC mapping.
>
> After looking at the patches again, I think I miss understood something :) DC
> mapping is used to be able to configure the display controller via the defined
> memory region.
>
> A0000 Graphics Mode
> B0000 Monochrome Text Mode
> B8000 Color Text Mode
>
> That would mean that if I map the DC to A0000 I can access its registers via
> A0000 + register offset or? If this is the case then drop my last two patches.
>
> The "bad" thing is that I don't have a "normal" lx800 platform to test all my
> patches.
>
> ---
> Christian Gmeiner, MSc
>
> _______________________________________________
> SeaBIOS mailing list
> SeaBIOS(a)seabios.org
> http://www.seabios.org/mailman/listinfo/seabios
Hi Michael,
I was running through the SeaBIOS release checks when I found that the
new iasl-option code in the Makefile seems to choke on older versions
of iasl (for example, version 20120123 as shipped with fc13). Can you
verify if the iasl detection still works properly for you with the
patch below?
-Kevin
>From 51755c3b5ed9dcdfdef8cee56631d68642bde416 Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <kevin(a)koconnor.net>
Date: Wed, 29 Aug 2012 21:27:37 -0400
Subject: [PATCH] Make iasl option check work with older versions of iasl.
To: seabios(a)seabios.org
Signed-off-by: Kevin O'Connor <kevin(a)koconnor.net>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 72ee152..45ea48a 100644
--- a/Makefile
+++ b/Makefile
@@ -221,7 +221,7 @@ $(OUT)vgabios.bin: $(OUT)vgabios.bin.raw tools/buildrom.py
################ DSDT build rules
-iasl-option=$(shell if "$(1)" "$(2)" -h > /dev/null 2>&1 \
+iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
; then echo "$(2)"; else echo "$(3)"; fi ;)
$(OUT)%.hex: src/%.dsl ./tools/acpi_extract_preprocess.py ./tools/acpi_extract.py
--
1.7.11.4
Hi all,
I posted some patches to the ML and want to discuss a part of if - DC mapping.
After looking at the patches again, I think I miss understood something :) DC
mapping is used to be able to configure the display controller via the defined
memory region.
A0000 Graphics Mode
B0000 Monochrome Text Mode
B8000 Color Text Mode
That would mean that if I map the DC to A0000 I can access its registers via
A0000 + register offset or? If this is the case then drop my last two patches.
The "bad" thing is that I don't have a "normal" lx800 platform to test all my
patches.
---
Christian Gmeiner, MSc
I'm having a problem finding/loading/executing a payload from seabios which is now using the romfile
functions for cbfs (commit 59d6ca52a7eba5).
I do have the cpu_to_be32() patch to get the correct payload destination address.
Here's what I had previously that worked before the change...
// Output the LCD splash image to the Explorer board
struct cbfs_file *file;
dprintf(1,"Looking for Explorer LCD splash payload ... ");
file = cbfs_finddatafile("img/explorer-splash");
if(file)
{
dprintf(1," found file [%s]. Loading it...\n ",file->filename);
cbfs_run_payload(file);
}
else dprintf(1,"could NOT find it!\n");
This is where I'm at after the change ...
// Output the LCD splash image to the Explorer board
struct romfile_s *file;
dprintf(1,"Looking for Explorer LCD splash payload ... ");
file = romfile_find("img/explorer-splash");
if(file)
{
dprintf(1," found file [%s]. Loading it...\n ",file->name); <=== everything works up to here
// cbfs_run_payload();
}
else dprintf(1,"could NOT find it!\n");
The cbfs_run_payload is expecting (cbfs_file *). How do I extract what cbfs_run_payload() wants from what
I got back from romfile_find() ?
Thanks in advance,
Dave