On Tue, Feb 14, 2012 at 08:34:22AM +0900, Daniel Castro wrote:
> Hello All,
>
> I am manipulating a lot of strings inside in the 32 bit init code,
> mostly by creating a pointer to char on the stack, and allocating the
> memory with malloc_high, but is done more than 20 times in some parts
> of the method. Lately I have seen that whenever I reference a pointer
> that was defined and used in the beginning I will get a fault, so I
I'm not sure what you mean by "fault". SeaBIOS should be running
without any memory protection, so it shouldn't ever cause a cpu trap
(unless it read/wrote to somewhere above the top of ram).
The 32bit init code runs with a stack at 0x7000 - so this should give
about 26K of stack. If the code is running in a "thread", then the
stack is 4k. The 32bit "resume" handler has a ~3K stack. Finally,
the 16bit code has a severely restrained stack (as little as a couple
hundred bytes).
-Kevin
Hello All,
I am manipulating a lot of strings inside in the 32 bit init code,
mostly by creating a pointer to char on the stack, and allocating the
memory with malloc_high, but is done more than 20 times in some parts
of the method. Lately I have seen that whenever I reference a pointer
that was defined and used in the beginning I will get a fault, so I
thought that maybe there is some kind of limitation on the stack or
the memory area that is overwriting some of my variables or data in
the stack or in the memory.
For example I define a variable in the stack like char * device =
malloc_high(10);
then I copy some string to that space, memcpy(device,old_device,10):
Many lines later I try to do this:
dprintf(1,"My current device is: %s",device);
The printf will generate a fault, also if I try this:
dprintf(1,"Device is currently at %p",device);
This will also generate a fault, so my guess is that the pointer was
lost somehow in the stack.
Any ideas?
Thanks,
Daniel
--
+-=====---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| | | Daniel Castro, |
| | | Consultant/Programmer.|
| | | U Andes |
+-------------------------------------+
Hello,
I have encountered something a little strange, if I set up the debug
lvl to 3 or more Y will get a Triple VCPU fault. If I set it to 1 the
bios runs normally but I loose a lot of information that I need to
debug. Sometimes if I try to print char * variables regardless of the
debug level I still get the fault.
Any ideas why?
Thanks for the ideas/pointers/ anything!
Daniel
--
+-=====---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| | | Daniel Castro, |
| | | Consultant/Programmer.|
| | | U Andes |
+-------------------------------------+
Hi folks,
There is a vgabios sitting implementation in the seabios repository for
a while. Recently it got a huge overhaul and should be on-par with the
lgpl vgabios implementation. I'd like to see qemu switch to that
implementation, for very simliar reasons which made us switch from bochs
bios to seabios. The vgabios is written almost completely in C, thus
it is easier to modify and maintain. We have a very responsitive upstream.
This patch series adds some build magic to roms/, for two reasons: It
simplifies updates and documents the build process. Covers seabios and
vgabios for now. Anyone who is familier with the build process for
other roms (ipxe, openbios, slof, ...) is welcome to add more bits there.
seabios submodule is updated to latest master (mirroring @ qemu.org
seems to be broken btw, had to pull from seabios.org directly), vgabios
and seabios binaries are updated.
Tests, comments etc, are welcome.
cheers,
Gerd
The following changes since commit cf4dc461a4cfc3e056ee24edb26154f4d34a6278:
Restore consistent formatting (2012-02-07 22:11:04 +0400)
are available in the git repository at:
git://git.kraxel.org/qemu bios.1
Gerd Hoffmann (5):
update seabios to latest master [feb 9th]
Add vgabios build scripts to roms/
Update vgabios binaries
Add seabios build scripts to roms/
Update seabios binary
pc-bios/bios.bin | Bin 131072 -> 131072 bytes
pc-bios/vgabios-cirrus.bin | Bin 35840 -> 37376 bytes
pc-bios/vgabios-qxl.bin | Bin 40448 -> 37376 bytes
pc-bios/vgabios-stdvga.bin | Bin 40448 -> 37376 bytes
pc-bios/vgabios-vmware.bin | Bin 40448 -> 37376 bytes
roms/Makefile | 23 +++++++++++++++++++++++
roms/config.seabios | 1 +
roms/config.vga.cirrus | 3 +++
roms/config.vga.isavga | 3 +++
roms/config.vga.qxl | 6 ++++++
roms/config.vga.stdvga | 3 +++
roms/config.vga.vmware | 6 ++++++
roms/configure-seabios.sh | 5 +++++
roms/seabios | 2 +-
14 files changed, 51 insertions(+), 1 deletions(-)
create mode 100644 roms/Makefile
create mode 100644 roms/config.seabios
create mode 100644 roms/config.vga.cirrus
create mode 100644 roms/config.vga.isavga
create mode 100644 roms/config.vga.qxl
create mode 100644 roms/config.vga.stdvga
create mode 100644 roms/config.vga.vmware
create mode 100755 roms/configure-seabios.sh
Adding seabios ML.
On 01/26/12 16:06, Ian Campbell wrote:
> On Thu, 2012-01-26 at 15:01 +0000, Christoph Egger wrote:
>> On 01/26/12 15:51, Ian Campbell wrote:
>>> On Thu, 2012-01-26 at 14:35 +0000, Christoph Egger wrote:
>>>> gmake[6]: Entering directory tools/firmware/seabios-dir-remote
>>>> Building ld scripts (version "1.6.3.1-20120126_152501")
>>>> env: python: No such file or directory
>>>> gmake[6]: *** [out/romlayout16.lds] Error 127
>>>>
>>>>
>>>> The python scripts must be invoked with $(PYTHON) as done
>>>> throughout the build system.
>>>
>>> SeaBIOS uses:
>>> $ rgrep -i python tools/firmware/seabios-dir
>>> tools/firmware/seabios-dir/tools/transdump.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/buildrom.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/checkstack.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/encodeint.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/layoutrom.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/checkrom.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/readserial.py:#!/usr/bin/env python
>>> tools/firmware/seabios-dir/tools/readserial.py:Or: apt-get install
python-serial
>>> tools/firmware/seabios-dir/tools/checksum.py:#!/usr/bin/env python
>>>
>>> Does this not work? Should python be on your $PATH?
>>
>> It is. But the python binary on NetBSD's pkgsrc
>> is called python<version> to allow concurrent installations of
different
>> python versions.
>> So I can have: python2.5, python2.6, python2.7, python3.1, etc.
>
> There is no current "python" referring to the default version?
>
> I think this is something you will need to work out with the SeaBIOS
> upstream.
>
> Ian.
>
>>
>> Christoph
>>
>>>
>>> Since SeaBIOS is third party code we are not so much at liberty to make
>>> the same sorts of policy decisions as we would for our own code.
>>>
>>> You could perhaps attempt to work around this by invoking the recursive
>>> make into the seabios directory with PATH=$(dir-only $(PYTHON):$PATH or
>>> whatever the appropriate runes are.
>>>
>>> Or you could try posting a patch to SeaBIOS-devel, I don't know what
>>> their thinking on this sort of thing is.
I see.
What python version does SeaBIOS require?
I have python 2.5 installed.
I manually created a python symlink to that version and then I get this
failure:
gmake[6]: Entering directory 'tools/firmware/seabios-dir-remote'
Building ld scripts (version "1.6.3.1-20120127_151243")
Fixed space: 0xe05b-0x10000 total: 8101 slack: 5 Percent slack: 0.1%
16bit size: 46336
32bit segmented size: 2005
32bit flat size: 14699
32bit flat init size: 53888
Traceback (most recent call last):
File "./tools/layoutrom.py", line 579, in <module>
main()
File "./tools/layoutrom.py", line 576, in main
writeLinkerScripts(sections, entrysym, genreloc, out16, out32seg,
out32flag)
File "./tools/layoutrom.py", line 257, in writeLinkerScripts
+ COMMONTRAILER
TypeError: int argument required
gmake[6]: *** [out/romlayout16.lds] Error 1
Christoph
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
On Wed, Feb 08, 2012 at 11:54:09AM +0100, Fred . wrote:
> Kevin wanted the logo to be generated using scripted free and libre tools.
> ImageMagick is scripted and free.
> What else can I use?
>
ImageMagick is fine, but font file is Ubuntu specific (and may event
contain different font in different versions of Ubuntu). If everyone
agrees that this should be the SeaBIOS logo then find appropriately
licensed fount file and include it in SeaBIOS repository along with the
script.
> On Wed, Feb 8, 2012 at 11:51 AM, Fred . <eldmannen(a)gmail.com> wrote:
> > Well, then just execute the file and have it generate the jpg, and
> > then put the jpg file in the source tree.
> > ImageMagick is shipped by default on Ubuntu.
> >
> > On Wed, Feb 8, 2012 at 8:19 AM, Gleb Natapov <gleb(a)redhat.com> wrote:
> >> On Tue, Feb 07, 2012 at 07:59:04PM +0100, Fred . wrote:
> >>> Please put this file in the repository. I don't know, but somewhere.
> >>> So it outputs a bootsplash.jpg file to wherever SeaBIOS is looking for
> >>> that file.
> >>>
> >>> #!/bin/sh
> >>> convert -background black \
> >>> -font /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf \
> >> This file is hardly available on all machines where this script might
> >> run.
> >>
> >>> -pointsize 96 -size 320x480 \
> >>> -gravity East -fill '#2078cb' label:'Sea' \
> >>> -gravity West -fill white label:'BIOS' \
> >>> +append bootsplash.jpg
> >>
> >>
> >>> _______________________________________________
> >>> SeaBIOS mailing list
> >>> SeaBIOS(a)seabios.org
> >>> http://www.seabios.org/mailman/listinfo/seabios
> >>
> >>
> >> --
> >> Gleb.
--
Gleb.
Kevin wanted the logo to be generated using scripted free and libre tools.
ImageMagick is scripted and free.
What else can I use?
On Wed, Feb 8, 2012 at 11:51 AM, Fred . <eldmannen(a)gmail.com> wrote:
> Well, then just execute the file and have it generate the jpg, and
> then put the jpg file in the source tree.
> ImageMagick is shipped by default on Ubuntu.
>
> On Wed, Feb 8, 2012 at 8:19 AM, Gleb Natapov <gleb(a)redhat.com> wrote:
>> On Tue, Feb 07, 2012 at 07:59:04PM +0100, Fred . wrote:
>>> Please put this file in the repository. I don't know, but somewhere.
>>> So it outputs a bootsplash.jpg file to wherever SeaBIOS is looking for
>>> that file.
>>>
>>> #!/bin/sh
>>> convert -background black \
>>> -font /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf \
>> This file is hardly available on all machines where this script might
>> run.
>>
>>> -pointsize 96 -size 320x480 \
>>> -gravity East -fill '#2078cb' label:'Sea' \
>>> -gravity West -fill white label:'BIOS' \
>>> +append bootsplash.jpg
>>
>>
>>> _______________________________________________
>>> SeaBIOS mailing list
>>> SeaBIOS(a)seabios.org
>>> http://www.seabios.org/mailman/listinfo/seabios
>>
>>
>> --
>> Gleb.