Another odd thing, in my current battle to build a home plan 9
network.  Has anyone else seen this?

My terminal is a Mini-ITX machine with an Intel atom processor, a 1GB
of RAM, and a Realtek RTL8111-series ethernet controller (I haven't
cracked open the case to see what the actual chip number is; but see
below).  The machine has no mass storage device of any kind, nor an
optical drive.  It does have a VGA interface and is connected to a
keyboard and mouse by the onboard PS/2 connectors.  It is not using
USB at all.  I have disabled pretty much everything except the
graphics adapter and ethernet in the BIOS.

I am attempting to PXE boot it from my file/auth/boot/cpu server (the
aforementioned machine that is having some problems).  The machine
DHCP's fine, and will load 9pxeload via TFTP, but then hangs.  I
started playing around with 9pxeload to see what was going on,
including updating the driver in /sys/src/boot/pc using Erik's latest
from his directory on sources, but still no go.  I finally traced
through the code far enough to see that it is getting stuck in the
wait() routine in ether.c; that is defined in l.s, and just calls
'HLT' and 'RET'.  Ie, do nothing until you receipt of an interrupt and
return.  However, no interrupts ever arrive; modifying wait() to
comment out the call to idle() and then printing m->ticks every
million or so iterations through the loop shows that m->ticks doesn't
change.  It's as if all interrupts somehow got turned off prior to the
call to wait().  Has anyone else seen this?  Could there be something
somewhere that's disabling interrupts that I should look into?  Could
things be being routed weirdly on an Atom processor?

Even better, has anyone seen this and fixed it already?

        - Dan C.

Reply via email to