[Linuxtrent] Re: Idee per un bootloader ...

  • From: Paolo Accordini <skaary@xxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Fri, 10 Jan 2003 13:09:53 +0100

Lele Gaifax wrote:

On Fri, 10 Jan 2003 12:53:20 +0100, Paolo Accordini <skaary@xxxxxxxxxxxx> said:



PA> verze .... Ma non capisco il perche . Per ora lo Stage2 è
PA> formato da una sola funzione (_start) con dentro queste linee
PA> di codice: PA> void _start() {
PA> unsigned char* VideoMem = (unsigned char*)0xB8000;
PA> // Puntatore alla memoria video PA> // Stampa sul video la scritta 'PM' PA> VideoMem[0] = 'P'; VideoMem[1] = 0x7; VideoMem[2] = 'M'; PA> VideoMem[3] = 0x7;


PA> In questa funzione chiamo niente e non faccio niente ...

"Non faccio niente", in italiano, ha tutt'altro significato che
"VideoMem[0] = 'P'" in C!!! Quel che fa quella funzione è più che
sufficiente per "tirare la catenella", anzi, hai addirittura previsto
di poter configurare "quale" catenella :)

ciao, lele.


Ma perche !!! :D Accedo alla memoria video in Assembler, penso di poter accedere alla memoria video anche in C
Inoltre tutti i segmenti dati (DS,ES,FS,GS e anche lo Stack) sono caricati con il selettore da 4gb lineare con privilegio
massimo .... Insomma, ho accesso lineare a tutta la memoria fisica. Quindi il problema penso non sia il codice in se, ma
come viene compilato .


--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: