ramdisk - how does the initial programs execute

Siva Prasad sprasad at bivio.net
Fri Apr 20 07:58:09 EST 2007


Hi,

I am interested in knowing how the initial programs like "/init" works
when using the ramdisk (or any other file system for that matter).

Especially, when it starts do execve for an init program, I am more
interested in how the bss_start and bss_end is identified, and more
importantly how __clear_user with addresses in range of 0x0FFXXXXX work,
even when all the memory is mapped at 0xC0000000. Shouldn't __clear_user
throw an exception, as there is no BAT that can identify the effective
address it is trying to clear?

* How does stwu instruction (of __clear_user) successfully stores 0x0
into that address.
* Since it is a user level program, how come its address falls into
0x0FFXXXXX?. Should it be loaded dynamically at any address that is
given by kernel (> 0xC0000000)?

Thanks
Siva




More information about the Linuxppc-dev mailing list