Age | Commit message (Collapse) | Author | Files | Lines |
|
Currently we cannot read the FCode from the card, so for the moment simply
execute the bytecode directly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1193 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Here we introduce a new <fcode> tag which will tokenise the specified source
file into Fcode using the toke utility. Similarly add a new type attribute
to the dictionary <object> tag which when set to "fcode" will add the fcode
binary as a dependency for the specified target dictionary.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1192 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1191 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The video_cls() function is no longer needed, since the fb8-install routines
now handle the video initialisation instead.
Remove the serial_cls() functions to make SPARC consistent with PPC and aid
debugging.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1190 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
These words always output to the debug (serial) port even if video mode is
enabled. This makes debugging the video routines much easier when starting
QEMU with the -serial stdio option.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1189 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
After all of the shuffling, this file is no longer required. Remove it.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1188 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Finally we now have a set of common video routines in video_common.c with per
bus initialisers for SBus and PCI. Hence we can remove the now obsolete
init_video() function.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1187 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Switch from using unsigned long to uint32_t in the 32-bit primitives and
unsigned short to uint16_t in the 16-bit primitives. While not a complete
fix (endian-swapping, 24-bit mode) it does fix 32-bit display depth on
64-bit architectures such as SPARC64.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1186 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Even though we boot in 24-bit enabled mode, OpenBIOS only uses the 8-bit
framebuffer. Hence we need to override the depth/linebytes obtained from
QEMU to force the graphics subsystem into 8-bit mode, which was what seems
to have been happening before this patch series.
Note: it seems strange that we have to update the package linebytes
property too, however Debian etch freezes if we don't set it to match the
8-bit framebuffer even though it correctly switches to 24-bit mode.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1185 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Instead if having a large #ifdef .. #endif section in video_set_color(), move
the device-specific hardware setters into each display device package.
To do this, we keep track of the display ihandle in the video structure and
use it to invoke the low-level hardware setter routine (and optional palette
refresh) if required.
Also since the display-ih isn't called until is-install, defer the colour
palette initialisation from init_video() to is-install.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1184 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Now that we've unified the video variables between C and Forth, there is no
need to have a dedicated C function to return the current dimensions.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1183 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Leave per-device work in init_video() for the moment.
As part of this commit we fix up switch-arch so that CONFIG_QEMU works for
SPARC32 - if we are given the framebuffer information via the QEMU firmware
interface we use it. Otherwise fall back to the values of the VGA_DEFAULT_*
constants.
This commit requires a corresponding patch for QEMU as currently the
framebuffer width/height are not passed via the firmware interface for
SPARC32.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1182 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
At the moment there are two sets of video parameters being used: those
internal to Forth and those internal to C. Unify these two structures
by redefining video_info to contain pointers to relevant values, and
then changing init_video() to set the pointers to the relevant values
in the Forth dictionary.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1181 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
video_info struct
Despite the name, osi_fb_info_t doesn't seem to be used by MOL and is just a general
holder for video parameters. So let's move everything into a single struct to make
future dereferencing easier.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1180 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
These are now called video_get_color() and video_set_color() respectively.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1179 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
longer needed
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1178 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
the video_fill_rect()
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1177 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
packages/molvideo.c
These routines are MOL-specific and currently not required anywhere else.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1176 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1175 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
While we are here, remove the INSTALL_OPEN flag since this is now handled by
is-install (removing the "open is not unique" warning on the serial console
during startup).
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1174 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
With the advent of the Forth terminal it is no longer required.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1173 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
These were only included to allow switching between the C terminal and the
Forth terminal during development.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1172 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
When compiling OpenBIOS on openSUSE 12.3 ppc64 I end up getting real host
headers included that make use of the __uxx and __sxx types.
Define those too in our asm copy of the types.h file, as that one overrides
the host's types.h that we would've used otherwise.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1171 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
We want the hypervisor to tell us where NVRAM lies so that we do not have to
rely on hardcoded addresses for it.
Introduce a new fw_cfg interface that allows us to receive it at runtime.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1170 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Mac OS X 10.5 requires device-rev to be set for mac-io. Make it happy.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1169 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The PowerMac2,1 is a MacRISC2 system. Expose it as compatible.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1168 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
It seems that some OS require the bootpath property to be the full, unaliased
path to the selected boot device, so use get-instance-path to ensure that
this is the case.
There is a slight issue here when auto-probing a partition, since the package
arguments won't contain the chosen partition id which semms to be mandatory
for bootpath. In order to resolve this, scan for a special
selected-partition-args property in the instance chain before
generating the bootpath, and if it exists use that for the device package
arguments instead.
Using this mechanism, we can set this property once we have auto-probed a
partition in mac-parts.c so bootpath is generated correctly. Finally it is
possible to remove the current hack of overwriting bootpath when calling
open-dev on a mac-parts partition, which would confuse some bootloaders
if they read bootpath after opening a new device.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1167 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The sequence 's" test" encode-string decode-string' suffered from an off-by-one
error whereby the trailing '\0' would still be left at the end of the decoded
string.
This fixes the extra "space" appearing at the end of property names, e.g. such
as in the output of "show-devs".
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1166 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Currently quik assumes a fixed load-base of 0x3f4000, and only worked on Old
World Macs because of a special exception in bootcode_load.c. Since quik seems
to be the only user of %BOOT known to date, widen the check to all Apple
machines as per conversation with Alex. PReP machines will continue to use the
standard value of load-base as normal.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1165 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Oops, this shouldn't have gone into the repository. Sorry :(.
This reverts commit 10a47b9ad8b95c7c06405163867ea3ad54f9441e.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1164 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Mac OS X wants to have a device_type property in the via-cuda node
to find and identify it properly.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1163 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The HFS+ driver was truncating the end of the disk to 32bit implicitly
by multiplying a 32bit value with another 32bit value. Cast the first one
to 64bit, making the result 64bit wide as well.
This fixes booting from big disks for me.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1162 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Instead of spawning a half-broken via-pmu device tree node, let's
create a power-mgt node below out already existing via-cuda node
instead.
This patch is inspired by a patch from
Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1161 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
With these device nodes the Mac OS X 10.4 kernel detects our
Mac99 machine type. It still hangs shortly after though.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1160 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The macio on our g3beige (heathrow) machine has 2 ATA links. Enable
the second one.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1159 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The CPUFREQ fwcfg variable was a misnomer that never got into QEMU
in that form. What we really implemented was a variable that exposes
the "clock-frequency" property, so name it accordingly.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1158 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
When building the unix target on PPC, our #ifdef'ery thinks we can
properly use the is_machine helpers and act accordingly to implement
hacks.
Expose these helpers in the unix target as well, just always define
them as false. That way we safe compilation without adding too much
logic to deal with unimportant corner cases.
Signed-off-by: Alexander Graf <agraf@suse.de>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1157 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Here we install the Forth terminal console instead of the C console for
the VGA and TCX drivers.
Note that this patch also disables video output for SPARC32 when
CONFIG_DEBUG_CONSOLE_VIDEO is enabled, since these routines write directly
to the screen instead of using the Forth bindings causing some display
issues.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1156 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
fb8-delete-characters.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1155 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1154 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Fix an off-by-one error in the lines/columns calculations and also ensure that
we correctly interpret control sequences when not all of the optional
parameters are present.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1153 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Currently the column positioning is handled by the framebuffer code in
display.fs where it shouldn't really be. This also fixes a crash bug when
window-top is set and a line wraps onto the line beneath it.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1152 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
implementation.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1151 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Change fb8-copy-line and fb8-clear-line so that they can operate on multiple
lines at once, renaming to fb8-copy-lines and fb8-clear-lines respectively.
Integrate these new functions into fb8-delete-lines so that they are used
when scrolling the display.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1150 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Switch fb8-erase-screen in display.fs over to use it.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1149 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The IEEE1275 specification suggests that the fb8-* routines can be coerced
into working for framebuffers with greater bit depths. Make sure that we
also support this.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1148 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Switch display.fs over to use it.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1147 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Switch display.fs over to use it.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1146 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1145 f158a5a8-5612-0410-a976-696ce0be7e32
|
|
The IEEE1275 is-install routine needs to call a basic initialisation routine for
each driver as typically supplied as an Fcode ROM. Provide a suitable set of
basic initialisers for a QEMU host.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1144 f158a5a8-5612-0410-a976-696ce0be7e32
|