Re: external eSata enclosure drive recognition?
- From: "Bill Blanton" <bblanton@xxxxxxxxxxxxxxxxxx>
- Date: Mon, 4 Aug 2008 08:44:01 -0400
"Paul" <nospam@xxxxxxxxxx> wrote in message news:g75qs0$mr7$1@xxxxxxxxxxx
Bill Blanton wrote:
"Bill in Co." <not_really_here@xxxxxxxxxxxxx> wrote in message news:%233EYoOa9IHA.5568@xxxxxxxxxxxxxxxxxxxxxxx
Bill Blanton wrote:
"Bill in Co." <not_really_here@xxxxxxxxxxxxx> wrote in messageSo what is the process again? I'm still confused. Let's see what I am missing:
news:%23Gvwd7T9IHA.1208@xxxxxxxxxxxxxxxxxxxxxxx
Paul wrote:AIUI, theorectically you could boot the device as long as the BIOS can load
Bill in Co. wrote:I wonder if it does (or how many actually do). Interesting.
The chip connected to the bus present in that expansion slot. The SIL3132OK. When the BIOS starts, it enumerates the add-on cards. It visits themFrom the "main chip" on the add-on card, I presume that means. (Not sure
one at a time, and reads the configuration info from the main chip.
what the "main chip" is, but I guess that depends on the nature of the card).
chip has a PCI Express x1 interface on it, and it connects to the slot.
Probes by the BIOS, to the configuration space of the SIL3132, will
uncover it is a storage controller card. If a BIOS chip is detected,
then the next step would be to load code from the BIOS_chip.
SIL3132 ------ BIOS_chip
|
| (Enumerates via bus)
|
PCI_Express_x1_slot
If the above BIOS chip, has INT 0x13 code present, then that storage card
could contribute a drive to the boot list.
If the card is designed like this, then a disk drive connected to theCannot? And yet it would appear in the boot list. I don't understand
SIL3132 cannot be used to boot the computer.
why if the system reads the BIOS on the card it's not able to boot the
computer (not that I want that, anyways). It seems you are saying above
that if the BIOS on the card is read, that it can't be used for booting? OR
that this is somehow tied into the INT 0 x 13 thing you mentioned, and THAT
is what creates that limitation?
and jump into the first sector. Practically, "basic disk" Windows MBR boot code
requires the device to be recognised by the 0x13 interrupts. IOW, Windows MBR code
uses int 0x13 to load the volume boot sector of the boot device.
When you initially boot the computer, the *system* BIOS 1) enumerates devices, and 2) if it detects BIOS on the added in PCI
controller card, the CPU executes an INT 13H CALL instruction, which then tells it to go out and read a sector on the MBR of a
HD?
Not sure Bill, but I believe that the cards on board "BIOS" would have to
add the storage devices to the system BIOS data area which is then
accessed by int 13h. It may also modify the int 13h code in some way.
(Int 13h is not a hardware interrupt, but a software interrupt and can be
modified. "Drive managers/overlays" do this.)
The BIOS code may or may not use the int 13h disk services to access/load a
boot device. An example of that would be a network boot, which Paul brought
up, which uses a different software int.
When the system BIOS is done with all its initializations, enumerations, etc. ,
all the BIOS needs to worry about is loading the selected "boot" device into
memory and then jumping to that code. After that, it is up to that loaded
code to continue the boot process, however it wants to accomplish the task.
As far as how a PCI device interacts with the BIOS on boot up, I don't really
know the details, but one thing I am positive of is the fact that the boot code
in the Win MBR uses int 13h to load the volume boot sector. If a storage device,
(at that stage), can't be seen by int 13h, then it cannot boot using that standard
MBR code. (might not apply for the newer EFI specification). Again however,
that int 13h code can be modified. And so can the standard MBR boot code.
There is a casual description here, of some of this stuff.
http://en.wikipedia.org/wiki/Option_ROM
http://en.wikipedia.org/wiki/INT_13
http://en.wikipedia.org/wiki/Booting ("Boot sequence on standard PC")
http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/reskit/part7/proch32.mspx?mfr=true
Even after looking at a few of these articles, it is unclear how the
OS carries out the loading from disk. The articles give the impression
that the OS routines do the loading from disk. But if that were the case,
then why would storage drivers ever be needed once the desktop appears ?
I'm still looking for an article that addresses what is handling
disk I/O, all the way until the desktop appears. I had the impression
that a lot of drivers run their initialization code, just before the desktop
appears. Now, maybe the storage drivers are loaded first, and are running
much earlier than the rest. But that isn't a very satisfying answer.
Here's the Win2k MBR boot code disassembled. The int 13 loads are near the
bottom of the code section.
http://mirror.href.com/thestarman/asm/mbr/Win2kmbr.htm
Once the OS boot sector is loaded, I believe it uses int 13h initially (it's still
the only thing available at that point), to load the loader, but eventually does
load more specific drivers. I have no idea either, when that occurs exactly.
In some instances the OS will contiinue using the hard disk
services that are in place at boot (could be, but not necessarily the BIOS
interrupts). Win9x DOS compatibility mode is an example. I don't think
XP/NT has a similar mechanism?
.
- Follow-Ups:
- Re: external eSata enclosure drive recognition?
- From: Bill Blanton
- Re: external eSata enclosure drive recognition?
- References:
- Re: external eSata enclosure drive recognition?
- From: Paul
- Re: external eSata enclosure drive recognition?
- From: Bill in Co.
- Re: external eSata enclosure drive recognition?
- From: Bill Blanton
- Re: external eSata enclosure drive recognition?
- From: Bill in Co.
- Re: external eSata enclosure drive recognition?
- From: Bill Blanton
- Re: external eSata enclosure drive recognition?
- From: Paul
- Re: external eSata enclosure drive recognition?
- Prev by Date: Re: wireless router choice
- Next by Date: Power usage
- Previous by thread: Re: external eSata enclosure drive recognition?
- Next by thread: Re: external eSata enclosure drive recognition?
- Index(es):
Relevant Pages
|