mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Kasper Dupont <kasperd@daimi.au.dk>
To: "H.Rosmanith (Kernel Mailing List)" <kernel@wildsau.idv.uni.linz.at>
Cc: root@chaos.analogic.com, linux-kernel@vger.kernel.org,
	herp@wildsau.idv.uni.linz.at
Subject: Re: emm386 hangs when booting from linux
Date: Sat, 01 Mar 2003 00:59:32 +0100	[thread overview]
Message-ID: <3E5FF7E4.FB290D8F@daimi.au.dk> (raw)
In-Reply-To: <200302282343.h1SNhiQN030734@wildsau.idv.uni.linz.at>

"H.Rosmanith (Kernel Mailing List)" wrote:
> 
> > Booting DOS from Linux is not as easy as booting Linux from
> > DOS. DOS relies much more on the BIOS, and the state of the
> > computer as it is setup by the BIOS. What needs to be right
> > for DOS to work is the contents of the BIOS data areas of
> > RAM, and the interrupt vector table, and state of some of
> > the hardware.
> 
> as far as I know, linux does not touch the BIOS data areas,
> and "machine_real_start" sets the IDT to 0,3ff again (the
> contents of the real-mode IDT are not modified by linux).

I think you are right about that. But that of course only
helps if it was not modified by code before Linux is loaded.

> the only piece of hardware neccessary to reset was the interrupt
> controller, in particular, the IRQ mapping.

I believe you are right that the IRQ controller is the most
important hardware component to reprogram. But I don't think
it is the only. Certainly you ought to reprogram the PIT to
the right speed, but there might be other hardware that
needs to be reprogrammed as well.

> 
> > It is surprising it worked that well. You can't even boot
> > DOS from DOS, DOS will have changed interrupt vectors which
> > would cause a second DOS to fail. If Linux is booted from
> > LOADLIN there will already be messed enough with the
> 
> interesting that you mention loadlin. when I run loadlin in a
> DOS which I booted from linux, (boot linux->boot dos->boot linux),
> the 2nd linux boot (by loadlin) will hang with the following message:
> 
> C:\LOADLIN> loadlin
> [...]
> 
> Your current DOS/CPU configuration is:
>   load buffer size: 0x[*HANGING*]
> 
> This looks promising. I think I gonna download loadlin source now :-)
> 
> On the other hand, when instead of loadling MBR and executing it, I
> do a far jmp to 0xf000:0xfff0 from "machine_real_start",

Isn't that code conventionally called by jumping to
0xffff:0x0000? (Not that it matters, because the first
instruction in all BIOSes I have seen is a jump to
0xf000:0xe05b.)

> normal
> boot-procedure is exected without haning anywhere. So I think that the
> bios-setup is doing some kind of initialisation/modification to whatver(!?)
> which the "machine_real_start" function does not.

Yes, the BIOS code usually knows almost everything that
needs to be initialized. If you are in real mode, and
jump to 0xFFFF:0x0000 there is almost nothing that can
possibly go wrong because you left some hardware in the
wrong state.

-- 
Kasper Dupont -- der bruger for meget tid på usenet.
For sending spam use mailto:aaarep@daimi.au.dk
for(_=52;_;(_%5)||(_/=5),(_%5)&&(_-=2))putchar(_);

  reply	other threads:[~2003-02-28 23:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-28  3:18 H.Rosmanith (Kernel Mailing List)
2003-02-28  3:30 ` H.Rosmanith (Kernel Mailing List)
2003-02-28 22:54 ` Richard B. Johnson
2003-02-28 23:26   ` H.Rosmanith (Kernel Mailing List)
2003-02-28 23:26   ` Kasper Dupont
2003-02-28 23:43     ` H.Rosmanith (Kernel Mailing List)
2003-02-28 23:59       ` Kasper Dupont [this message]
2003-03-01  0:05         ` hr
2003-03-02 10:26         ` H.Rosmanith (Kernel Mailing List)
2003-03-02 10:29           ` H.Rosmanith (Kernel Mailing List)
2003-03-06 10:25           ` Denis Vlasenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E5FF7E4.FB290D8F@daimi.au.dk \
    --to=kasperd@daimi.au.dk \
    --cc=herp@wildsau.idv.uni.linz.at \
    --cc=kernel@wildsau.idv.uni.linz.at \
    --cc=linux-kernel@vger.kernel.org \
    --cc=root@chaos.analogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®