read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

–zyad

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may know :

16bit-segment * 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try to
access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

–zyad


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan
Ghijselinck
Sent: Tuesday, January 03, 2006 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may
know :

16bit-segment* 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Are you in real mode or protected mode? If you are not in the BIOS/EFI, or
NtLdr, more than likely you are in protected mode. Do you want to be in
real mode? If so then you will have to write your own HAL

Gary G. Little


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of zyad
Sent: Tuesday, January 03, 2006 8:14 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try to
access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

–zyad


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan
Ghijselinck
Sent: Tuesday, January 03, 2006 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may
know :

16bit-segment* 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’

To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks Gary

I’m in protected mode (ring 0), actually I’m intended to read from the
system BIOS.

–zyad


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@seagate.com
Sent: Tuesday, January 03, 2006 4:40 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Are you in real mode or protected mode? If you are not in the BIOS/EFI, or
NtLdr, more than likely you are in protected mode. Do you want to be in real
mode? If so then you will have to write your own HAL

Gary G. Little


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of zyad
Sent: Tuesday, January 03, 2006 8:14 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try to
access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

–zyad


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan
Ghijselinck
Sent: Tuesday, January 03, 2006 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may
know :

16bit-segment* 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

zyad wrote:

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try
to access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

Please be specific about what memory you’re trying to access. Show us
an example. Not all of physical memory is mapped into the virtual
address space.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

There are predefined ways of reading some parts of the BIOS from a Windows driver. Specifically, I know you can read SMBIOS information without manually touching physical addresses if that is what you are trying to do. Be specific and folks here can probably point you at a solution to your problem.

Bill M.
“zyad” wrote in message news:xxxxx@ntdev…
Thanks Gary

I’m in protected mode (ring 0), actually I’m intended to read from the system BIOS.

–zyad

------------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@seagate.com
Sent: Tuesday, January 03, 2006 4:40 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Are you in real mode or protected mode? If you are not in the BIOS/EFI, or NtLdr, more than likely you are in protected mode. Do you want to be in real mode? If so then you will have to write your own HAL

Gary G. Little

------------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of zyad
Sent: Tuesday, January 03, 2006 8:14 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try to access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

–zyad

------------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan Ghijselinck
Sent: Tuesday, January 03, 2006 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may know :

16bit-segment* 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thank you Bill

Yes I need to read some parts of the BIOS; specifically I need to read the
BIOS ID. Please could you point me to the methods that I can use to read
from the BIOS without touching the physical address?

Thanks in advance

–zyad


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bill McKenzie
Sent: Wednesday, January 04, 2006 2:45 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] read from segment & offset

There are predefined ways of reading some parts of the BIOS from a Windows
driver. Specifically, I know you can read SMBIOS information without
manually touching physical addresses if that is what you are trying to do.
Be specific and folks here can probably point you at a solution to your
problem.

Bill M.

“zyad” wrote in message news:xxxxx@ntdev…

Thanks Gary

I’m in protected mode (ring 0), actually I’m intended to read from the
system BIOS.

–zyad



From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@seagate.com
Sent: Tuesday, January 03, 2006 4:40 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Are you in real mode or protected mode? If you are not in the BIOS/EFI, or
NtLdr, more than likely you are in protected mode. Do you want to be in real
mode? If so then you will have to write your own HAL

Gary G. Little



From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of zyad
Sent: Tuesday, January 03, 2006 8:14 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try to
access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

–zyad

_____

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan
Ghijselinck
Sent: Tuesday, January 03, 2006 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may
know :

16bit-segment* 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Use (PUCHAR)( ( Seg << 4 ) + Offset )

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “zyad”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 03, 2006 5:14 PM
Subject: RE: [ntdev] read from segment & offset

> Thanks Christiaan for your reply
>
>
>
> Yes I mean segment/offset from the real processor mode, but when I try to
> access the pointer formed with
>
>
>
> 16bit-segment* 16 + 16bit-offset = real physical address
>
>
>
> the system crash, so how can I read from the generated physical address
>
>
>
> --zyad
>
>
>
>
>
> _____
>
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan
> Ghijselinck
> Sent: Tuesday, January 03, 2006 3:08 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] read from segment & offset
>
>
>
>
>
>
> Hello,
>
>
>
> How can I map a memory segment and offset to a be a valid pointer
>
>
>
> Do you mean “segment/offset” from the “real processor mode” ? As you may
> know :
>
>
>
> 16bit-segment* 16 + 16bit-offset = real physical address
>
>
>
> Christiaan
>
>
>
>
>
>
>
> --zyad
>
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/arti
cle.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

There is a doc on accessing the SMBIOS here: http://download.microsoft.com/download/5/D/6/5D6EAF2B-7DDF-476B-93DC-7CF0072878E6/SMBIOS.doc

Also, search Google for SMBIOS access from the Windows kernel and there are several web and newsgroups links that have more information. I was able to read info from the SMBIOS on a couple of machines here without having to muck with physical addresses.

Bill M.

“zyad” wrote in message news:xxxxx@ntdev…
Thank you Bill

Yes I need to read some parts of the BIOS; specifically I need to read the BIOS ID. Please could you point me to the methods that I can use to read from the BIOS without touching the physical address?

Thanks in advance

–zyad

------------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Bill McKenzie
Sent: Wednesday, January 04, 2006 2:45 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] read from segment & offset

There are predefined ways of reading some parts of the BIOS from a Windows driver. Specifically, I know you can read SMBIOS information without manually touching physical addresses if that is what you are trying to do. Be specific and folks here can probably point you at a solution to your problem.

Bill M.

“zyad” wrote in message news:xxxxx@ntdev…

Thanks Gary

I’m in protected mode (ring 0), actually I’m intended to read from the system BIOS.

–zyad

----------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@seagate.com
Sent: Tuesday, January 03, 2006 4:40 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Are you in real mode or protected mode? If you are not in the BIOS/EFI, or NtLdr, more than likely you are in protected mode. Do you want to be in real mode? If so then you will have to write your own HAL

Gary G. Little

----------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of zyad
Sent: Tuesday, January 03, 2006 8:14 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] read from segment & offset

Thanks Christiaan for your reply

Yes I mean segment/offset from the real processor mode, but when I try to access the pointer formed with

16bit-segment* 16 + 16bit-offset = real physical address

the system crash, so how can I read from the generated physical address

–zyad

----------------------------------------------------------------------------

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Christiaan Ghijselinck
Sent: Tuesday, January 03, 2006 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] read from segment & offset

Hello,

How can I map a memory segment and offset to a be a valid pointer

Do you mean “segment/offset” from the “real processor mode” ? As you may know :

16bit-segment* 16 + 16bit-offset = real physical address

Christiaan

–zyad


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

zyad wrote:

Thank you Bill

Yes I need to read some parts of the BIOS; specifically I need to read
the BIOS ID. Please could you point me to the methods that I can use
to read from the BIOS without touching the physical address?

There is no standard location for a “BIOS ID”, if one is included at
all. Its presence and location varies by manufacturer.

If the BIOS is mapped in to memory, you can access it at location
0x000F0000. If it is not mapped in, you can map it yourself.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.