<p>Nico Huber has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20606">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">WIP: Update libhwbase + libgfxinit<br><br>Change-Id: I001ba973d864811503410579fd7ad55ab8612759<br>Signed-off-by: Nico Huber <nico.h@gmx.de><br>---<br>M 3rdparty/libgfxinit<br>M 3rdparty/libhwbase<br>M src/Kconfig<br>M src/drivers/intel/gma/hires_fb/gma.adb<br>M src/drivers/intel/gma/text_fb/gma.adb<br>M src/lib/Kconfig<br>M src/lib/Makefile.inc<br>7 files changed, 52 insertions(+), 28 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/06/20606/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/3rdparty/libgfxinit b/3rdparty/libgfxinit<br>index fb4f8ce..1577cb8 160000<br>--- a/3rdparty/libgfxinit<br>+++ b/3rdparty/libgfxinit<br>@@ -1 +1 @@<br>-Subproject commit fb4f8ce26a05c2304367c066b806519941658373<br>+Subproject commit 1577cb83f9f0c494099e5dda96eb3e81438bfc07<br>diff --git a/3rdparty/libhwbase b/3rdparty/libhwbase<br>index 3bf6759..8421073 160000<br>--- a/3rdparty/libhwbase<br>+++ b/3rdparty/libhwbase<br>@@ -1 +1 @@<br>-Subproject commit 3bf6759dc09d27c06b3533fd536e667356853d3d<br>+Subproject commit 84210735417763ecdcf0c5e4515bc57bc9baf218<br>diff --git a/src/Kconfig b/src/Kconfig<br>index 637f575..701b2b4 100644<br>--- a/src/Kconfig<br>+++ b/src/Kconfig<br>@@ -1145,20 +1145,6 @@<br> required and not implemented if a weak implementation is found in the<br> resulting image.<br> <br>-config RAMSTAGE_ADA<br>- def_bool n<br>- help<br>- Selected by features that use Ada code in ramstage.<br>-<br>-config RAMSTAGE_LIBHWBASE<br>- def_bool n<br>- select RAMSTAGE_ADA<br>- help<br>- Selected by features that require `libhwbase` in ramstage.<br>-<br>-config HWBASE_DYNAMIC_MMIO<br>- def_bool y<br>-<br> config UNCOMPRESSED_RAMSTAGE<br> bool<br> <br>diff --git a/src/drivers/intel/gma/hires_fb/gma.adb b/src/drivers/intel/gma/hires_fb/gma.adb<br>index 7fe4e12..34f1751 100644<br>--- a/src/drivers/intel/gma/hires_fb/gma.adb<br>+++ b/src/drivers/intel/gma/hires_fb/gma.adb<br>@@ -68,9 +68,7 @@<br> begin<br> lightup_ok := 0;<br> <br>- HW.GFX.GMA.Initialize<br>- (MMIO_Base => mmio_base,<br>- Success => success);<br>+ HW.GFX.GMA.Initialize (Success => success);<br> <br> if success then<br> ports := Mainboard.ports;<br>@@ -98,15 +96,19 @@<br> <br> HW.GFX.GMA.Dump_Configs (configs);<br> <br>- HW.GFX.GMA.Setup_Default_GTT (fb, phys_fb);<br>- HW.GFX.Framebuffer_Filler.Fill (linear_fb, fb);<br>+ HW.GFX.GMA.Setup_Default_FB<br>+ (FB => fb,<br>+ Clear => true,<br>+ Success => success);<br> <br>- HW.GFX.GMA.Update_Outputs (configs);<br>+ if success then<br>+ HW.GFX.GMA.Update_Outputs (configs);<br> <br>- linear_fb_addr := linear_fb;<br>- fb_valid := true;<br>+ linear_fb_addr := linear_fb;<br>+ fb_valid := true;<br> <br>- lightup_ok := 1;<br>+ lightup_ok := 1;<br>+ end if;<br> end if;<br> end if;<br> end gfxinit;<br>diff --git a/src/drivers/intel/gma/text_fb/gma.adb b/src/drivers/intel/gma/text_fb/gma.adb<br>index 6453571..301e108 100644<br>--- a/src/drivers/intel/gma/text_fb/gma.adb<br>+++ b/src/drivers/intel/gma/text_fb/gma.adb<br>@@ -41,9 +41,7 @@<br> begin<br> lightup_ok := 0;<br> <br>- HW.GFX.GMA.Initialize<br>- (MMIO_Base => mmio_base,<br>- Success => success);<br>+ HW.GFX.GMA.Initialize (Success => success);<br> <br> if success then<br> ports := Mainboard.ports;<br>diff --git a/src/lib/Kconfig b/src/lib/Kconfig<br>index 6d5f034..f329c87 100644<br>--- a/src/lib/Kconfig<br>+++ b/src/lib/Kconfig<br>@@ -5,3 +5,28 @@<br> Don't include default fill_lb_framebuffer() implementation. Select<br> this if your drivers uses MAINBOARD_DO_NATIVE_VGA_INIT but provides<br> its own fill_lb_framebuffer() implementation.<br>+<br>+config RAMSTAGE_ADA<br>+ def_bool n<br>+ help<br>+ Selected by features that use Ada code in ramstage.<br>+<br>+config RAMSTAGE_LIBHWBASE<br>+ def_bool n<br>+ select RAMSTAGE_ADA<br>+ help<br>+ Selected by features that require `libhwbase` in ramstage.<br>+<br>+if RAMSTAGE_LIBHWBASE<br>+<br>+config HWBASE_DYNAMIC_MMIO<br>+ def_bool y<br>+<br>+config HWBASE_DEFAULT_MMCONF<br>+ hex<br>+ default MMCONF_BASE_ADDRESS<br>+<br>+config HWBASE_DIRECT_PCIDEV<br>+ def_bool y<br>+<br>+endif<br>diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc<br>index e05b3fc..ce84cdd 100644<br>--- a/src/lib/Makefile.inc<br>+++ b/src/lib/Makefile.inc<br>@@ -287,8 +287,21 @@<br> <br> ifeq ($(CONFIG_RAMSTAGE_LIBHWBASE),y)<br> <br>+to-ada-hex = $(eval $(1) := 16\\\#$(patsubst 0x%,%,$($(1)))\\\#)<br>+<br>+$(call to-ada-hex,CONFIG_HWBASE_DEFAULT_MMCONF)<br>+<br> $(call add-special-class,hw)<br> hw-handler = $(eval ramstage-srcs += $$(addprefix $(1),$(2)))<br>+<br>+$(call add-special-class,hw-gen)<br>+hw-gen-handler = \<br>+ $(eval additional-dirs += $(dir $(2))) \<br>+ $(eval ramstage-srcs += $(2)) \<br>+ $(eval ramstage-ads-deps += $(2)) \<br>+ $(eval ramstage-adb-deps += $(2)) \<br>+ $(eval $(2): $(obj)/config.h)<br>+<br> subdirs-y += ../../3rdparty/libhwbase<br> <br> ramstage-$(CONFIG_HAVE_MONOTONIC_TIMER) += hw-time-timer.adb<br></pre><p>To view, visit <a href="https://review.coreboot.org/20606">change 20606</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/20606"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I001ba973d864811503410579fd7ad55ab8612759 </div>
<div style="display:none"> Gerrit-Change-Number: 20606 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Nico Huber <nico.h@gmx.de> </div>