bug-grub
[Top][All Lists]
Advanced

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

Re: Does grub crash UNDI service?


From: Tobias Wollgam
Subject: Re: Does grub crash UNDI service?
Date: Fri, 19 Mar 2004 13:25:44 +0100
User-agent: KMail/1.6

> I’m working on the UNDI driver of the GRUB diskless patch. The driver
> (from etherboot-5.3.5)

why not 5.3.6?

> now works fine before I do any I/O operations. 
> That is, the diskless GRUB can do DHCP proper, but dies on
> downloading kernel. It even dies on loading kernel from local disk
> (the disk gets busy and GRUB doesn't respond any more). Two points
> are suspicious: 1.    UNDI is resident in the high end of the lower
> memory and
> modifies the BIOS FBMS (at 40:13h) to avoid being crashed by the OS
> (i.e. GRUB) to load. After loaded, the Etherboot UNDI driver will
> release some unused UNDI data, allocate new space to install UNDI API
> and modify the FBMS to the new value. ---- I don't know where the
> GRUB always examines FBMS before it tries to write on the high end of
> the lower memory. If not, GRUB may have crashed the UNDI data before
> it call the driver again :(
> 2.    UNDI uses interrupt, so the UNDI driver set a
> 'trivial_irq_handler' after it is initialized. That seems to work
> fine at start, but I don't know whether it conflicts with grub I/O
> mechanic after grub get control. (The driver uses only one irq
> specified by UNDI ROM, but do not uninstall it until it is disabled)

Michal Brown, the author of the etherboot undi driver, mentioned the 
following:

> Incidentally, Etherboot C code assumes that interrupts are disabled at 
all 
> times and only get re-enabled when a real-mode call is made.  If this 
> assumption isn't valid inside grub, then all sorts of interesting 
things 
> could happen if an interrupt occurs between the two lines 
>
>        irq_vector->segment = handler->segment;
>        irq_vector->offset = handler->offset;
>
>in install_irq_handler().

HTH

-- 
Tobias Wollgam
Softwaredevelopment
Competence Center System Management
Business Unit Information 
_________________________________________________
MATERNA GmbH Information & Communications
Vosskuhle 37 * 44141 Dortmund  
http://www.materna.de 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]