If I don’t specify [uc] I get a message telling me to specify a cache
type. I know I mapped the memory into the driver as MmNonCached (I
double-checked the code just to be extra sure).
Beverly
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Drew Bliss
Sent: Wednesday, November 30, 2005 6:03 PM
To: Kernel Debugging Interest List
Subject: RE: [windbg] Local Kernel Debuging
Here’s the response I got:
In local kernel debugging they should be able to access anything as long
as any one of the following applies :
- the physical address is regular memory (so we know what cache
attribute to use to retrieve the data)
- the physical address is already mapped by some driver (so we know
what cache attribute to use to retrieve the data)
- if neither #1 or #2 apply, then they must explicitly tell us the
type [c,uc,wc] as part of the command.
What happens if you don’t specify [uc]?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Brown, Beverly
Sent: Wednesday, November 30, 2005 12:21 PM
To: Kernel Debugging Interest List
Subject: RE: [windbg] Local Kernel Debuging
Well, my driver did map in this device memory. I know that because my
app would not have gotten as far as it did. There’s lots it can talk to
on the board, just one thing that seems to not be set right and I want
to verify that the logic in my code set the right value in my device
memory by reading it through the debugger. It’s not working. I can
access system memory just fine.
I think I remember runnning itnto a similar issue once before (with
driver code, not windbg). I could only map memory that the OS “knew
about” using a particular API. In this case “knew about” meant part of
system memory. It would fail to map device memory. I’m guessing that
windbg is using that API to do the mapping.
Can this problem be fixed? I can’t be the only one who wants to read
device memory from a local kernel debugger.
Beverly
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Drew Bliss
Sent: Wednesday, November 30, 2005 2:42 PM
To: Kernel Debugging Interest List
Subject: RE: [windbg] Local Kernel Debuging
I’m not that familiar with the particulars, but from what I’ve heard
it’s any physical memory that the OS knows about by any mechanism. It
doesn’t have to be used by the OS, so it can be device memory, but it
has to be some memory that a device driver or miniport reported/mapped
so that the OS is aware of it.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Brown, Beverly
Sent: Wednesday, November 30, 2005 11:36 AM
To: Kernel Debugging Interest List
Subject: RE: [windbg] Local Kernel Debuging
What do you mean by “OS mapping”? Do you mean system memory as uded by
the OS? And therefore accessing device memory will not work? Well that
rots!
Beverly
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Drew Bliss
Sent: Wednesday, November 30, 2005 2:02 PM
To: Kernel Debugging Interest List
Subject: RE: [windbg] Local Kernel Debuging
In general you should expect things which deal with stable data to work.
This includes long-lived global memory and such. Anything with
transient data, such as thread stacks, global memory under modification
and so on, may or may not work.
My understanding is that physical memory reads will fail unless the
memory has an OS mapping for the physical memory, as the OS validates
all physical memory reads against known memory regions before allowing
them.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Brown, Beverly
Sent: Wednesday, November 30, 2005 10:37 AM
To: Kernel Debugging Interest List
Subject: [windbg] Local Kernel Debuging
Whcihc commands should I expect to work when doing local kernel
debugging? I am trying to read a physical; memory location on my device.
I know I can access the device because I have an app talking to it
through the driver. However, I’m getting the following error when I try
to read a memory location:
lkd> !dd [uc] fe400000
Physical memory read at fe400000 failed
Should I expect this to work?
Beverly
You are currently subscribed to windbg as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to windbg as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to windbg as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to windbg as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to windbg as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to windbg as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com