SharedUserData

Laurent Pinchart laurent.pinchart at skynet.be
Wed Apr 3 01:49:07 CST 2002


Hi everybody,

I need to implement the SharedUserData, which is a page of memory 
located at (KERNEL_BASE - 0x10000) shared between user space (read-only 
access) and kernel space.

Some information in that page are very accurate (system time in 100ns 
units for instance), so I don't think that it would be possible to 
create a shared page at (KERNEL_BASE - 0x10000) and refresh it fast enough.

Please correct me if I'm wrong, but I think that the way to go would be 
to create a copy of that page in memory and initialize it when Wine 
starts (some information never change, like the system root or version 
number). When a user space program would try to access that page, the 
page fault exception handler would return the appropriate data.

I'm not very familiar with Wine internals, so I might be wrong, or 
forget some important issues. Comments are more than welcome :-)

I'd also appreciate if someone could give me some hints about the 
implementation (where I should look for the page fault exception 
handler, where I should initialize that shared data, where I can find 
the needed information to initialize those data, ...).

Thanks in advance.

Laurent Pinchart




More information about the wine-devel mailing list