larry.panzer(a)excel.net said:
> Could you post some more info on your i960 board, is it a custom
> design? It may make a good testbed platform on which to try the
> OpenBIOS, when the time arrives. It might make some sence to do a pro/
> con list of the different design techniques for this BIOS.
Well, OK. The card I refer to is the Picture Elements Imaging Subsystem
Engine (ISE). There is information about it on our web page. It may not
be of any real use to this list because they cost more then some cheaper
PCI motherboard. However, it does have lots of PCI stuff to fuss with
and has taught me the issues of BIOS management of PCI busses. Still
interested? Read on.
ISE is a full-size PCI card that has an i960RD on board. Internally, the
board has a PCI bus connected to the secondary bus side of the i960RD.
There is a DEC PCI-to-PCI bridge that adds another PCI bus.
The board has daughter card positions that are electrically PCI. The
daughter cards use typical interface chips (i.e. PLX PCI9080) to do
the bus manipulation. Therefore, the cards appear to software like
standard PCI devices.
I have written code for the i960 that does the job that the BIOS32 does
on a PC, namely it locates the PCI devices, probes their registers and
assigns interrupt numbers and address space. It is this little bit that
may be most interesting to this list.
I have also ported TCL 7.6 to this environment. I have given TCL access
to the PCI space by a "bios32" extension (load {} bios32) that adds
commands to read/write configuration space registers.
The software for the ISE board is fairly generic, and available for free
from our FTP site. <ftp://ftp.picturel.com/pub/source/ucr/> UCR Version 1.0
is sitting there now, I'll be making a 1.1 release (and updating the TCL
port) in a month or so. People are free to look at the PCI stuff to see
what I had to go through, and the code may be used under GPL terms.
(The TCL source has its own license that allows free use.)
Some portions of uCR are known to work under i386 with gcc, as I have
built and linked programs to run under Linux, using uCR in place of the
C library. This is for simulation purposes, but may provide a decent
test bed for embedded software.
Anyhow, there you go. In a month or so, things will settle down enough
that I can port uCR to i386/PC board if there is interest.
--
Steve Williams "The woods are lovely, dark and deep.
steve(a)icarus.com But I have promises to keep,
steve(a)picturel.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
OpenFirmware hurts! Don't go down this path. As a former Apple employee
where OF was law, it causes more problems than it solves. The Forth
derivation is baroque and tends to only bring back unmaintainable code
(you though asm could be bad?!? You ain't seen nothing yet!) Also
talking with Sun people (where OF originally began, though in a slightly
derivitive and sometime incompatible language known as OpenBoot) who code
it on regular basis, they hate the horribly restrictive environment and
the debugging facilities suck wind, but they are stuck with it.
Being able to initialize an OF card is okay, but doing a full OF
implementation on the host ROM side is a nightmare.
greg
>On Sat, 11 Apr 1998, David Freeman wrote:
>
>> Wouldn't that be an OpenFirmware clone? I know that most modern PPC
>> systems now use OpenFirmware, as well as newer SPARC systems. An
>> OpenFirmware clone would be cool...
>
>This isn't exactly what I thought of at first, but it sounds like the best
>thing to do now that I think about it. This would probably help out some
>people trying to run LinuxPPC on Winbloze-NT only Motorola PowerStack
>machines (You can flash a new bios onto them from a floppy, I believe)
>
>Maybe we can even add some cool features like control from an ethernet
>interface.. Have it look for a bootp server at boot, and then allow telnet
>configuration.. This would be *great* for setting up a cluster.. Take the
>machine out of the box, hook it up, and configure it without ever hooking
>up a monitor, keyboard, or inserting a floppy. There are some security
>issues with this though, but I think those can be dealt with.
>
>Something like my previous idea is possible with a fully open-source
>firware code.. What company would want to bother with something like that
>anyway? I personally think it would be very useful.
>
>> And it isn't exactly proprietary either, independent companies make
>> their own implementations of OpenFirmware, so I guess it would be
>> possible to get the specs, and write clone, eh?
>>
>> Troy Benjegerdes wrote:
>> >
>> > Does this list exist at all? I haven't seen any activity for about 2 weeks
>> > or something.
>> >
>> > Anyway, would anyone like to develop a GNU bios for PPC systems? I *might*
>> > be in a position to get all the needed specifications and actually get the
>> > developed *used* when it is stable.
>>
>
>----------------------------------------------------------------------------
>| Troy Benjegerdes | troybenj(a)iastate.edu | hozer(a)dodds.net |
>| Unix is user friendly... You just have to be friendly to it first. |
>| This message composed with 100% free software. http://www.linux.org |
>----------------------------------------------------------------------------
>
>
>---
>OpenBIOS -- http://www.linkscape.net/openbios/
>openbios-request(a)linkscape.net Body: un/subscribe
>Problems? dcinege(a)psychosis.com
>
>
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
pavel(a)elf.ucw.cz said:
> Hmm. Did someone _really_ start? Is there someone who actually
> compiled that Bochs BIOS? Where to download complete package
> (including bcc, because it is not really common).
I'm not sure about _compiling_ the Bochs BIOS, but Dave Cinege tried the
precompiled version that comes with the Bochs source, and it did nothing
visibly useful.
Bcc is part of the Dev86 package, which can be found at
http://poboxes.com/rdebath
I'll put a copy of the latest version in /pub/openbios on my machine, too.
As for _really_ starting on the code, I doubt that anyone's made much of a
start. I'm itching to do some, but my Director of Studies will slaughter me if
I so much as look at anything but "An implementation of RSVP on Nemesis"
( http://www.cl.cam.ac.uk/Research/SRG/pegasus/nemesis.html )
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
>The MDA cards require absolutely no setup. They display text from the
moment
>the power goes on. I suspect older [CEV]GA cards will be similar.
Not correct, you need to initialize the 6845 CRTC. Pardon the grotty
formatting.
;
; Init Hercules card
;
cld
mov al,#$21 ;disable video
mov dx,#$03b8
out dx,al
mov si,#herctext ;set text mode
mov bl,#0
mov dx,#$03b4
hercloop mov al,bl
out dx,al
inc dx
cs: lods.b
out dx,al
dec dx
inc bx
cmp bl,#16
jb hercloop
mov al,#$29 ;enable video
mov dx,#$3b8
out dx,al
mov ax,#$b000 ;clear screen
mov es,ax
mov ax,#vidfill
mov cx,#2000
mov di,#0
rep stos
jmp hercend
;
; Hercules text mode settings
;
herctext B $61,$50,$52,$0F,$19,$06,$19,$19 ; mode 7
B $02,$0D,$0B,$0C,$00,$00,$00,$00
hercend
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
> > Ditch your fancy new SVGA cards, install an old MDA card, and
> > mov ax,b800h
> > mov ds,ax
> > ...
>
> IIRC, the segment base for MDA is 0xb000, not 0xb800 (CGA), but, as
> with you, it's been a while.
I stand corrected. I hereby declare myself to be this week's Official Mr. F^&*
All Good, for failing even to manage a six-line asm program <D:-(
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
oxymoron(a)waste.org said:
> It would be nearly as easy to generate output on the serial port
> using polled IO. Presumably all the developers have at least a serial
> port and a second machine that they're not ready to kill their BIOS
> on. I've recently written a small library of assembly functions to do
> this, include register and memory dump routines and a printf-like
> varargs function for debugging the bootloader of an embedded
> operating system I'm writing. The routines are currently written for
> MASM - if anyone would like them, I can make them available.
Sounds good. Could you mail them to me, and I'll put them up for FTP with the
rest of the stuff.
Support for reblowing the flash from a serial port, rather than from a floppy,
is going to be a damn sight easier to put together, so I suggest that we do
that in the first instance, too.
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
> It's alive. I signed up recently trying to find out if I can help. Get an
> idea of the level of development. But like you said there has been no
> traffic (I even forgot I signed up).
>
> Who can I contact to find out if I can do some work on the OpenBIOS?
I think the discussions of general ideas fizzled out, and the last we heard,
people were off to play with the Bochs BIOS source, in an attempt to get it to
work at least a little bit on a real computer.
Until then, we can still put together a development system, binary module
spec., and a list of modules to be provided.
At some point in the dim and distant past, I and a few other people posted
lists of the basic support that we're going to require in order to boot a
Linux kernel.
Unless you have access to the necessary hardware for making replacement PROMS,
assume that someone will get the basic chipset init working, pick something
else, and implement it.
INT 15h extended memory services might be a simple place to start, and should
be quite simple to test from DOS.
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
cpa(a)hopper.unh.edu said:
> What would it take just to write a Hello World program?
Ditch your fancy new SVGA cards, install an old MDA card, and
mov ax,b800h
mov ds,ax
mov ax,'eH'
mov [0],ax
mov ax,'ll'
mov [2],ax
...
OK, I'm a bit rusty, but you get the idea.
The MDA cards require absolutely no setup. They display text from the moment
the power goes on. I suspect older [CEV]GA cards will be similar.
> I think
> seeing this code would give people something of a starting place. Do
> we just load the Video BIOS up and use it to write a string to the
> screen and halt, or can/should we do it without the Video BIOS?
Until we've set up enough to support the card's Video BIOS, we'd better do it
on our own. Most new cards will probably require at least the PCI BIOS
functions to have been implemented first.
> From there you can add support to initialize your chipsets functions.
> BTW, do we have anybody here with a SMP machine? Those do require more
> to initialize, and we will eventually want to make sure that works.
Yep. I've got such a beast. I'm not playing until May, when my Finals are
over, but after that I'll be working on it. You'd be surprised at just how
little the SMP Tyan BIOS manages to do for itself - that's half the reason I
wanted us to write our own in the first place.
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave(a)imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
Since everybody is wondering if the list is alive, I'll post something
I've been thinking about...
What would it take just to write a Hello World program? I think seeing
this code would give people something of a starting place. Do we just load
the Video BIOS up and use it to write a string to the screen and halt, or
can/should we do it without the Video BIOS?
>From there you can add support to initialize your chipsets functions.
BTW, do we have anybody here with a SMP machine? Those do require more to
initialize, and we will eventually want to make sure that works.
--
Chris Arguin | "...All we had were Zeros and Ones -- And
Chris.Arguin(a)unh.edu | sometimes we didn't even have Ones."
+--------------+ - Dilbert, by Scott Adams
http://leonardo.sr.unh.edu/arguin/home.html |
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com
cpa(a)hopper.unh.edu said:
> What would it take just to write a Hello World program?
Ditch your fancy new SVGA cards, install an old MDA card, and
mov ax,b800h
mov ds,ax
mov ax,'eH'
mov [0],ax
mov ax,'ll'
mov [2],ax
...
OK, I'm a bit rusty, but you get the idea.
IIRC, the segment base for MDA is 0xb000, not 0xb800 (CGA), but, as
with you, it's been a while.
---
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe
Problems? dcinege(a)psychosis.com