[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [f-cpu] F-ROFS



On Wed, Mar 13, 2002 at 12:14:42AM +0100, Yann Guidon wrote:
> Hello,
> 
> The recent installation of the Linux From Scratch system
> on my new HDD triggered a lot of question, including :
> how will we get this damn CPU boot such a complex system ?

By writing a decent BIOS? ;)

> Constraints :
> 
>  - The CPU boots at address 0. It's not a problem,
> because usually the page that maps to NULL triggers
> a trap and VM is not enabled during bootup. The RAM
> address is detected and relocated by our boot code
> so the real address of the RAM is not a problem either.
> And because the addressable range is potentially
> unlimited, it's not a good idea to boot with the address
> MSB set to 1 because then our code couldn't boot
> on different implementations.

Yep.

>  - We have to simulate our system using a VHDL simulator
> which is by definition very limited from the I/O point of
> view : file open, close, read and write, that's all.
> not even a file seek. All I/O will have to go through that,
> before we're able to simulate more than a character input/output
> (a virtual console). That's very poor : no HDD or video frame
> buffer, almost nothing. All we can do is : open/read an image
> of the Flash EPROM and map it to address O of our CPU.
> For the "virtual console" i consider the creation of a new SR
> (called something like SR_VIRTUAL_CONSOLE) which will get or
> put a character with the get and put instruction. simple.
> Later this could be synthesised as a port to a parallel port
> or an UART for command-line debugging...

Better use memory mapped I/O. The real one will have to do that
anyway.

> So it's a really bare system, we have a FLASH EPROM
> and a console I/O, no HDD, no video (yet) and we have
> to start developping stuff on this like primitive programs,
> run a kernel and make a boot loading manager (multi-boot
> menu etc...)... And this must be done with very, very simple
> tools (not even the heavy GNU toolsuite) that are "linked"
> to a static library provided in the Flash (kind of BIOS).

I'd rather start with something different: an instruction-level emulator
that directs system calls to the host OS (via a syscall/trap instruction,
or some memory mapping tricks). That way, you can use almost any system
call of the host OS. You just can't port the kernel itself.

-- 
 Michael "Tired" Riepe <Michael.Riepe@stud.uni-hannover.de>
 "All I wanna do is have a little fun before I die"
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/