Article View: es.comp.os.linux.programacion
Article #14013Re: Acceso de lectura a la BIOS directamente........
From: Willy
Date: Tue, 19 Dec 2000 23:30
Date: Tue, 19 Dec 2000 23:30
69 lines
3611 bytes
3611 bytes
Discrepo en eso de que acceder a la memoria solo lo puede hacer el kernel. Existe el fichero de dispositivo /dev/mem que mapea toda la memoria del ordenador. Si tienes los privilegios necesarios (y estaremos de acuerdo en que root _tiene_ todos los privilegios), puedes acceder a cualquier posici�n de memoria tranquilamente y sin problemas. Simplemente abres ese fichero, escribes en �l y ya est�. Para leer lo mismo de lo mismo, no hay ning�n problema. Por eso en Linux es tan f�cil hacerlo todo, porque todos las cosas est�n representadas como ficheros. Claro, que las direcciones de acceso son absolutas. Pero es que eso de las direcciones segmentadas ya est� pasado de moda, fue una gran chapuza de Intel, rentable al principio pero que luego hemos tenido que pagar todos, por ejemplo con las BIOS, que no saben del modo protegido todav�a (y eso que ya ha llovido desde que se invent�). Bye! Dani Pardo ha escrito: > oswaldo.ballonga@wanadoo.es wrote: > > > > Hello a todos: > > > > �Alguien me podria ayudar? > > Estoy intentando leer los tics de reloj que faltan para parar el motor > > del floppy... > > Antiguamente, cuando programaba en ensamblador bajo MsDOS accedia de > > esta manera > > > > mov dx,0040h > > mov ds,dx > > mov byte ptr ds:[dx],al > > > > He cambiado el codigo a AT&T... > > He probado el modo de direccionamento de mil maneras diferentes... > > (utilizo 32 bits, no ".code16") > > SEGMENTATION FAULT! > > > > �Es por que Linux protege la bios? He utilizado munluck() y nada... > > Linux "protege" todos los segmentos/p�ginas que no te pertenezcan.. y > por muy root que seas no te dejar� acceder a esas direcciones. De echo > linux no usa la BIOS para acceder al disquette (y si no mira > /usr/src/linux/drivers/block/floppy.c) > > > �Estoy poniendo el modo de direccionamiento mal? > > �Como puedo acceder a una direccion lejana? > > No puedes. Es un sistema operativo multiusuario y multitarea. Acceder a > toda la memoria solo lo puede hacer el kernel. > > > Acepto toda clase de ideas... y gracias. > > Hazte un driver, o modifica el floppy.c. Lo cargas como m�dulo, y en tu > driver podr�s acceder a todo el rango de direcciones. > > PD: No se qu� pretendes hacer, pero probablemente lo puedas hacer con > una sola instrucci�n en C (ioctl). Probablemente no necesites ni eso: > > $ whatis setfdprm > setfdprm (8) - sets user-provided floppy disk parameters > > > Saludos, > > --- > Dani Pardo, dani@enpl.es > Enplater s.a
Technical Details
Message-ID:
<3A3FEF9B.E35C6E46@netscape.net>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!newsfeed.online.be!newsfeeds.belnet.be!news.belnet.be!btnet-peer1!btnet-peer0!btnet-peer!btnet!newsfeed.bt.es!212.14.96.163.MISMATCH!gratil.proel!not-for-mailReferences:
<3A3EA954.B4BEA5A5@wanadoo.es> <3A3F2A93.1B74F841@enpl.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f78ff,c2dee4018cb3ca21 X-Google-Attributes: gidf78ff,public X-Google-Thread: f86c8,c2dee4018cb3ca21 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2000-12-19 15:31:22 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!newsfeed.online.be!newsfeeds.belnet.be!news.belnet.be!btnet-peer1!btnet-peer0!btnet-peer!btnet!newsfeed.bt.es!212.14.96.163.MISMATCH!gratil.proel!not-for-mail From: Willy <"willywill[NO SPAM]"@netscape.net> Newsgroups: es.comp.os.linux.programacion,esp.comp.so.linux.programacion Subject: Re: Acceso de lectura a la BIOS directamente........ Date: Wed, 20 Dec 2000 00:30:35 +0100 Organization: PROEL PSIC Lines: 70 Message-ID: <3A3FEF9B.E35C6E46@netscape.net> References: <3A3EA954.B4BEA5A5@wanadoo.es> <3A3F2A93.1B74F841@enpl.es> NNTP-Posting-Host: 212.14.100.61 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mozilla 4.51 [es] (Win98; I) X-Accept-Language: es