Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- From: soviet_bloke@xxxxxxxxxxx
- Date: 8 Sep 2006 19:50:28 -0700
Don,
If you dive under the OS and hit the IDT or other
things yourself, I do not know if there is a problem
If you plan to do something like that, developing your code on UP
machine is just insane, unless you want your driver to be *STRICTLY*
UP-oriented. Every CPU on MP system has its own IDT,GDT, as well as
register set (including control and model-specific ones). If you are
"law-abiding and responsible programmer" you are not supposed to know
things like that - kernel and HAL insulate you from all this stuff.
However, someone who goes below the OS has to deal with all these
issues manually
Therefore, the code that works at below - HAL level on both UP and MP
machines has to be totally different from the one that is meant to run
only on UP machines - after all, Windows provides separate versions of
kernel and HAL for UP and MP machines (MP kernel and HAL can work on
both UP and MP machines, but UP ones can work on UP machines only),
and,once you are about to provide a partial re-implementation of the
system services, you have to act exactly the same way the system does
Anton Bassov
Don Burn wrote:
I've only done this on SMP systems, but basically the OS initializes and
runs things on a single processor. There will be only on processor as far
as the OS is concerned. If you dive under the OS and hit the IDT or other
things yourself, I do not know if there is a problem.
--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply
<on3lonestar@xxxxxxxxx> wrote in message
news:1157684845.531266.185360@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Don,
Could you explain what exactly happens when I use the uniprocessor
versions of HAL and Ntoskrnl kernel image on a dual-core/SMP system.
How does Windows "ignore" or disable one of the cores? I will be
working at the IDT etc level, and any extra cores/processors only make
things unnecessarily complicated. Once I do use a uniprocessor kernel
on a dual-core/SMP system, will the system function exactly as if only
one core/processory exists? Basically, what does the OS "see"
underneath using the new HAL?
Thanks!
Don Burn wrote:
Yes uyou drivers will have to be SMP aware for a dual core, or a hyper
threaded, or a SMP system. Of course, your driver should be SMP aware
anyway since you need to deal with most of the synchronization issues
even
ou a uni-processor they just are less likely (but not impossible) to
happen.
No, you can do this at boot time, use the /KERNEL=ntkrnlup.exe
/HAL=halup.DLL /numproc=1 to indicate you want to treat the computer as a
uni-processor. You will find on the XPSP2 CD ntoskrnl.exe which is the
uni-processor version, rename it to something like ntkrnlup.exe, likewise
the hal.dll on the XPSP2 CD rename to halup.DLL put them both in the
system32 directory and you have a uni-processor system by choosing that
boot.ini line.
--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply
<on3lonestar@xxxxxxxxx> wrote in message
news:1157590558.092218.40890@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hello,
I write experimental drivers, and have never worked on SMP systems yet.
I need to upgrade to an IBM T60 but I am worried about the dual-core
Intel processor engine. I have the following questions:
- It seems the dual-core provides 2 pipelines and 2 caches to 2 cores
on a single die. This sounds like a SMP system. Will my drivers have to
worry about SMP stuff?
- Can I configured Windows XP SP2/BIOS to completely disable/ignore one
of the cores when I write my drivers? Will there be a major performance
impact if I did this? I read that Windows installs a different HAL when
it sees an SMP... so it sounds like I cant do this at boot time each
time.. it has to be a one-time decision during installation?
Basically, I want to know if I can write non-SMP aware drivers in
someway on a IBM T60 that has a core2duo processor engine.
Thanks!
.
- Follow-Ups:
- Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- From: Maxim S. Shatskih
- Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- References:
- WinXPSP2, Intel Core2Duo, Kernel drivers
- From: on3lonestar
- Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- From: Don Burn
- Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- From: on3lonestar
- Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- From: Don Burn
- WinXPSP2, Intel Core2Duo, Kernel drivers
- Prev by Date: Re: Memory ordering and flag/state variables
- Next by Date: Re: Memory ordering and flag/state variables
- Previous by thread: Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- Next by thread: Re: WinXPSP2, Intel Core2Duo, Kernel drivers
- Index(es):
Relevant Pages
|