Author: blueswirl Date: 2009-08-08 12:52:59 +0200 (Sat, 08 Aug 2009) New Revision: 539
Modified: trunk/openbios-devel/config/examples/cross-sparc64_config.xml trunk/openbios-devel/config/examples/sparc64_config.xml trunk/openbios-devel/drivers/vga_vbe.c trunk/openbios-devel/include/ppc/io.h trunk/openbios-devel/include/sparc64/io.h Log: Sparc64: configure screen size from QEMU command line options
Configure the screen size from QEMU command line options using FW_CFG interface, like r538 for PPC.
Signed-off-by: Blue Swirl blauwirbel@gmail.com
Modified: trunk/openbios-devel/config/examples/cross-sparc64_config.xml =================================================================== --- trunk/openbios-devel/config/examples/cross-sparc64_config.xml 2009-08-04 21:08:37 UTC (rev 538) +++ trunk/openbios-devel/config/examples/cross-sparc64_config.xml 2009-08-08 10:52:59 UTC (rev 539) @@ -4,6 +4,7 @@ <!-- generic --> <option name="CONFIG_SPARC" type="boolean" value="true"/> <option name="CONFIG_SPARC64" type="boolean" value="true"/> + <option name="CONFIG_QEMU" type="boolean" value="true"/> <option name="CONFIG_BIG_ENDIAN" type="boolean" value="true"/>
<!-- kernel binaries (SPARC64) -->
Modified: trunk/openbios-devel/config/examples/sparc64_config.xml =================================================================== --- trunk/openbios-devel/config/examples/sparc64_config.xml 2009-08-04 21:08:37 UTC (rev 538) +++ trunk/openbios-devel/config/examples/sparc64_config.xml 2009-08-08 10:52:59 UTC (rev 539) @@ -4,6 +4,7 @@ <!-- generic --> <option name="CONFIG_SPARC" type="boolean" value="true"/> <option name="CONFIG_SPARC64" type="boolean" value="true"/> + <option name="CONFIG_QEMU" type="boolean" value="true"/> <option name="CONFIG_BIG_ENDIAN" type="boolean" value="true"/>
<!-- kernel binaries (SPARC64) -->
Modified: trunk/openbios-devel/drivers/vga_vbe.c =================================================================== --- trunk/openbios-devel/drivers/vga_vbe.c 2009-08-04 21:08:37 UTC (rev 538) +++ trunk/openbios-devel/drivers/vga_vbe.c 2009-08-08 10:52:59 UTC (rev 539) @@ -131,11 +131,11 @@ int depth = VGA_DEFAULT_DEPTH; int linebytes = VGA_DEFAULT_LINEBYTES;
-#if defined(CONFIG_QEMU) && defined(CONFIG_PPC) +#if defined(CONFIG_QEMU) && (defined(CONFIG_PPC) || defined(CONFIG_SPARC64)) int w, h, d; - w = fw_cfg_read_i16(FW_CFG_PPC_WIDTH); - h = fw_cfg_read_i16(FW_CFG_PPC_HEIGHT); - d = fw_cfg_read_i16(FW_CFG_PPC_DEPTH); + w = fw_cfg_read_i16(FW_CFG_ARCH_WIDTH); + h = fw_cfg_read_i16(FW_CFG_ARCH_HEIGHT); + d = fw_cfg_read_i16(FW_CFG_ARCH_DEPTH); if (w && h && d) { width = w; height = h;
Modified: trunk/openbios-devel/include/ppc/io.h =================================================================== --- trunk/openbios-devel/include/ppc/io.h 2009-08-04 21:08:37 UTC (rev 538) +++ trunk/openbios-devel/include/ppc/io.h 2009-08-08 10:52:59 UTC (rev 539) @@ -165,9 +165,9 @@ #endif
#if defined(CONFIG_QEMU) -#define FW_CFG_PPC_WIDTH (FW_CFG_ARCH_LOCAL + 0x00) -#define FW_CFG_PPC_HEIGHT (FW_CFG_ARCH_LOCAL + 0x01) -#define FW_CFG_PPC_DEPTH (FW_CFG_ARCH_LOCAL + 0x02) +#define FW_CFG_ARCH_WIDTH (FW_CFG_ARCH_LOCAL + 0x00) +#define FW_CFG_ARCH_HEIGHT (FW_CFG_ARCH_LOCAL + 0x01) +#define FW_CFG_ARCH_DEPTH (FW_CFG_ARCH_LOCAL + 0x02) #endif
#endif /* _ASM_IO_H */
Modified: trunk/openbios-devel/include/sparc64/io.h =================================================================== --- trunk/openbios-devel/include/sparc64/io.h 2009-08-04 21:08:37 UTC (rev 538) +++ trunk/openbios-devel/include/sparc64/io.h 2009-08-08 10:52:59 UTC (rev 539) @@ -3,6 +3,9 @@
#include "asm/types.h"
+#define NO_QEMU_PROTOS +#include "openbios/fw_cfg.h" + extern unsigned long va_shift; // Set in entry.S // Defined in ldscript extern char _start, _data, _stack, _estack, _end, _vmem, _evmem, _iomem; @@ -213,4 +216,11 @@ extern void outsw(u32 reg, const void *addr, unsigned long count); #endif #endif + +#if defined(CONFIG_QEMU) +#define FW_CFG_ARCH_WIDTH (FW_CFG_ARCH_LOCAL + 0x00) +#define FW_CFG_ARCH_HEIGHT (FW_CFG_ARCH_LOCAL + 0x01) +#define FW_CFG_ARCH_DEPTH (FW_CFG_ARCH_LOCAL + 0x02) +#endif + #endif /* _ASM_IO_H */