Has anyone done this already for MS7308E?
- Levi
On Mon, 11 Dec 2000, you wrote:
> On Mon, Dec 11, 2000 at 02:07:50PM -0500, Levi Khatskevitch wrote:
> > Hi,
> > I see that software reset (like 'reboot') doesn't work with linuxbios. Is it a
> > known issue? Can it theoreticaly be fixed?
>
> I found and fixed this problem on my board quite a while back. With some
> explanation, it shouldn't be too hard for you guys to figure out something
> that works.
>
> First thing you need to do is go and read arch/i386/kernel/process.c,
> where the software reset functions live. Look at machine_restart().
> There you'll find the linux kernel approach toward rebooting the machine.
> It can use the BIOS to reboot the machine, or try to do it itself.
> Obviously the BIOS attack won't work, so I suggest you go and check that
> your kernel isn't trying to do that.
>
> If it's not trying to use the bios, this is what the kernel does:
>
> do this a bunch of times: outb(0xfe,0x64);
> (I have no idea what that does).
> otherwise, try and triple-fault the CPU to force a reset.
>
> None of these worked on my board (custom embedded stuff), but all you need
> to do is figure out how your board is _supposed_ to be reset, and punch
> that code into machine_restart(). In my case, I bang on the reset
> register in the southbridge chip:
>
> const unsigned short PIIX4_RESET_REGISTER=0xCF9;
> outb_p(2, PIIX4_RESET_REGISTER);
> outb_p(6, PIIX4_RESET_REGISTER);
>
> Good luck.
>
> Eric
--
Levi Khatskevitch
CTO
Cachier, Corp.
575 Grand St., Suite E306
New York, NY 10002