Hi,
I am developing a Virtual Storport Miniport driver for iSCSI. I need to read IBFT table populated by option ROM which may reside anywhere in physical system memory (RAM) starting from 512MB to 1GB.
How should I read IBFT? Is there an API to read IBFT from Microsoft or should I read physical memory directly using MmMapIoSpace().
Thanks,
-nirranjan
>>I am developing a Virtual Storport Miniport driver for iSCSI.
Welcome to the club. iSCSI is fun and it’s not Apple’s SCSI-
>I need to read IBFT table populated by option ROM which may reside anywhere in physical
> system memory (RAM) starting from 512MB to 1GB.
iSCSI boot, huh…
>How should I read IBFT?
Msft makes it hard…
> Is there an API to read IBFT from Microsoft…
Yes, there is a not so documented api for it but I don’t remember the detail.
> or should I read physical memory directly using MmMapIoSpace().
Yes, you could but it’s pain in the ass. It doesn’t always work, esp on some OEM platforms. If you have to search memory for IBFT, use view of section against physicalmem. But again, searching memory is legacy method, it has problem with some OEMs’ solutions, i.e. uefi. If it’s a hobby project, searching memory is probably fine.
You could use acpi method too.
Calvin Guan
Broadcom Corp.
Connecting Everything(r)
p.s. iscsi crashdump is another can of worms.
Yeah, Welcome the to club 
This one of the toughest parts in Virtual miniports for iSCSI. Zw—Section
APIs for working with physical memory will save your life. We have written
this, but for IP reasons I wont be able to disclose the whole thing.
@Kelvin,
w.r.t. your p.s. please Read
http://support.microsoft.com/default.aspx?scid=kb;EN-US;939875
Thanks,
Charan
On Mon, Apr 27, 2009 at 9:49 AM, wrote:
>
> >>I am developing a Virtual Storport Miniport driver for iSCSI.
>
> Welcome to the club. iSCSI is fun and it’s not Apple’s SCSI-
>
> >>I need to read IBFT table populated by option ROM which may reside
> anywhere in physical
> >> system memory (RAM) starting from 512MB to 1GB.
>
> iSCSI boot, huh…
>
> >>How should I read IBFT?
>
> Msft makes it hard…
>
>
> >> Is there an API to read IBFT from Microsoft…
> Yes, there is a not so documented api for it but I don’t remember the
> detail.
>
> >> or should I read physical memory directly using MmMapIoSpace().
> Yes, you could but it’s pain in the ass. It doesn’t always work, esp on
> some OEM platforms. If you have to search memory for IBFT, use view of
> section against physicalmem. But again, searching memory is legacy method,
> it has problem with some OEMs’ solutions, i.e. uefi. If it’s a hobby
> project, searching memory is probably fine.
>
> You could use acpi method too.
>
>
> Calvin Guan
> Broadcom Corp.
> Connecting Everything(r)
>
> p.s. iscsi crashdump is another can of worms.
>
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>> This one of the toughest parts in Virtual miniports for iSCSI.
Well, I don’t how *est is defined in this context. In order for extrema to exist, it’s necessary but not sufficient that the first derivative at some point is zero but I failed to see it there.
>Zw—Section APIs for working with >> physical memory will save your life.
> We have written this, but for IP reasons I wont be able to disclose the whole thing.
ZwMapSectionOfView/zwopensection can be found everywhere. someone on the list could probably do it with eyes blind folded. But the problem of this approach is it doesn’t work on some (and will not work for more and more) OEM’s technologies. (I’m of course not allowed to disclose who the oem is and particular detail of their implementation) but section view is certainly more reliable than mmmapioxxx as I mentioned.
>@Kelvin,
Well, my name is Calvin. I’m not sure why the list got my first name and last name reversed if I post via the web i/f.
>w.r.t. your p.s. please Read http://support.microsoft.com/default.aspx?scid=kb;EN-US;939875
I’m not talking about ms hot fix. I’m talking about providing a crashdump driver that allows os to write crashdump (or hibernation file) to iscsi target via my TOE chip at the time Windows is drawing white chars on blue. Fortunately, the preboot and crash, fw/ucode part are done by a very bright bulb in our team.
Calvin Guan
Broadcom Corp.
Connecting Everything(r)