VirtualPC SDK?

Anyone know if there is an “SDK” for VirtualPC? It seems to me that,
with a few hooks into VirtualPC, one could easily create the kind of
device simulation that has driven developers to hook the page fault
handler in various ugly and unsupported ways. All you’d need is a way
to map a range of virtualized physical address space to a DLL.


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

And you think they would let go of this technology?

It is something I have been working on for sometime, creating a virtualized
process address space that one could execute within and be able to capture
things like buffer overruns and nasty things like that. Involving
invalidating PTE’s for particular VA ranges, groveling around the stack in
code … Lots of fun though!

Pete

Kernel Drivers
Windows Filesystem and Device Driver Consulting
www.KernelDrivers.com
(303)546-0300

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Monday, October 03, 2005 11:43 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] VirtualPC SDK?

Anyone know if there is an “SDK” for VirtualPC? It seems to me that,
with a few hooks into VirtualPC, one could easily create the kind of
device simulation that has driven developers to hook the page fault
handler in various ugly and unsupported ways. All you’d need is a way
to map a range of virtualized physical address space to a DLL.


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


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

You are currently subscribed to ntdev as: xxxxx@kerneldrivers.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

No such thing exists, mostly because there are no “hooks.” VirtualPC is,
unfortunately, a very monolithic piece of code.

We’re looking at making the next virtualization system from Microsoft
extensible, though probably not in the way that you’re suggesting. We think
that it’s more important to spend our time making paravirtualized devices
easy to create. Emulations of existing PCI hardware would either be limited
to very old-style PCI, circa 1996, or they would require a complete rewrite
of the chipset and firmware implementation in VirtualPC, which is something
that we have no other reason to do.


Jake Oshins
Windows Kernel Group

This posting is provided “AS IS” with no warranties, and confers no rights.

“Tim Roberts” wrote in message news:xxxxx@ntdev…
> Anyone know if there is an “SDK” for VirtualPC? It seems to me that, with
> a few hooks into VirtualPC, one could easily create the kind of device
> simulation that has driven developers to hook the page fault handler in
> various ugly and unsupported ways. All you’d need is a way to map a range
> of virtualized physical address space to a DLL.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>

Peter Scott wrote:

And you think they would let go of this technology?

Doing so would open up an additional market for VirtualPC in the
hardware simulation business, and it’s hard to see how exporting such an
SDK would reveal any of the family jewels. It’s a narrow market, to be
sure, but Microsoft rarely passes up the opportunity to enter new markets.

It’s too bad this is so hard, because it was quite easy in Windows 9X,
and even documented. A VxD could ask to have itself registered on the
“invalid page fault handler” chain, which was the last resort handler
for page faults that the operating system could not otherwise resolve.
We simulated an entirely new graphics card using such a scheme. It
wasn’t real quick, but it worked well enough to validate our concepts,
and it allowed us to fire up the display driver within 36 hours of
getting the first chips back.


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

It is a really small market.

Also, pretty soon after getting simulation of memory mapped I/O customers
will want to simulate interrupt requests, DMA, PCI config space, hot
plug/unplug, etc.
Providing, documenting, and supporting a coherent and *stable* framework for
emulated devices is not easy. For example, just think about the right
locking infrastructure for device emulation in SMP VMs.

Dmitriy Budko
VMware

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Monday, October 03, 2005 2:32 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] VirtualPC SDK?

Peter Scott wrote:

And you think they would let go of this technology?

Doing so would open up an additional market for VirtualPC in the
hardware simulation business, and it’s hard to see how exporting such an
SDK would reveal any of the family jewels. It’s a narrow market, to be
sure, but Microsoft rarely passes up the opportunity to enter new markets.

It’s too bad this is so hard, because it was quite easy in Windows 9X,
and even documented. A VxD could ask to have itself registered on the
“invalid page fault handler” chain, which was the last resort handler
for page faults that the operating system could not otherwise resolve.
We simulated an entirely new graphics card using such a scheme. It
wasn’t real quick, but it worked well enough to validate our concepts,
and it allowed us to fire up the display driver within 36 hours of
getting the first chips back.


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