Jump to content











Photo
- - - - -

PE and more than 1 CPU


  • Please log in to reply
24 replies to this topic

#1 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 07 May 2008 - 01:16 AM

Has anyone run his PE on a computer with a multicore - or Hyperthreading CPU?
Does PE show 1 CPU or the same number as your normal system?

:lol:

#2 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 07 May 2008 - 01:25 AM

On my Intel Core Duo, PE is detected as an ACPI Multiprocessor PC.

Regards,
Galapo

#3 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 07 May 2008 - 09:47 AM

That's just the HAL talking.
This says unfortunately nothing about, if more than 1 CPU is actually used.
If you have PNP in your PE, you should see 2 CPU in DeviceManager.
But the easiest way to check if PE uses both cores is to look into the taskmanager. If everything works the 'resources' tab will show 2 CPU.

:lol:

#4 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 07 May 2008 - 10:34 AM

Under the "task manager" analysis: 1 processor.

Interestingly, %number_of_processors% variable isn't set under PE, at least in LiveXP.

Regards,
Galapo.

#5 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 07 May 2008 - 10:56 AM

Galapo, please conduct a little test for me.
If your target folder still exists you will just have to create a new iso, else you will have to run your favorite project again, but before building the ISO do this:
- go to %SourceDir%\i386
- copy NTKRNLMP.EX_
- go to %targetDir%\i386\system32
- paste NTKRNLMP.EX_
- delete NTOSKRNL.EX_ or move it outside the %TargetDir%
- rename NTKRNLMP.EX_ to NTOSKRNL.EX_

Build the ISO and do the CPU test again.


:lol:

#6 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 07 May 2008 - 11:08 AM

Still only one cpu under this test.

Regards,
Galapo.

#7 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 07 May 2008 - 11:43 AM

Your txtsetup.sif needs to only contain the following in the Hal.Load section:

[Hal.Load]
mps_up =Halmps.dll
mps_mp =Halmps.dll
syspro_mp =halsp.dll
acpiapic_mp =halmacpi.dll
acpiapic_up =halmacpi.dll

You also need to copy ntkrnlmp.exe to ntoskrnl.exe and make sure hal.inf is in the inf directory.

You can have a CD that contains both by creating a setupldr2.bin from setupldr.bin and ntoskrn2.exe from ntkrnlmp.exe and hex editing setupldr2.bin to point at txtsetu2.sif instead of txtsetup.sif and ntoskrn2.exe instead of ntoskrnl.exe

Make sure you have dual core working before you attempt to support both. Note if you load the multicore hal on a single core machine then you can experience bsods and hangs.

#8 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 07 May 2008 - 11:44 AM

Still only one cpu under this test.

Damn! There seems to be more missing for MultiCPU support.
Too bad, that means someone who actually has a multiCPU system has to do (re)searching for the missing parts. :thumbup:

Thanks for your help anyway, Galapo!
:lol:


PS: Did PENetwork work for you or did it crash?

#9 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 07 May 2008 - 03:14 PM

Your txtsetup.sif needs to only contain the following in the Hal.Load section:

[Hal.Load]
mps_up =Halmps.dll
mps_mp =Halmps.dll
syspro_mp =halsp.dll
acpiapic_mp =halmacpi.dll
acpiapic_up =halmacpi.dll

You also need to copy ntkrnlmp.exe to ntoskrnl.exe and make sure hal.inf is in the inf directory.

You can have a CD that contains both by creating a setupldr2.bin from setupldr.bin and ntoskrn2.exe from ntkrnlmp.exe and hex editing setupldr2.bin to point at txtsetu2.sif instead of txtsetup.sif and ntoskrn2.exe instead of ntoskrnl.exe

Make sure you have dual core working before you attempt to support both. Note if you load the multicore hal on a single core machine then you can experience bsods and hangs.

Sorry paraglider, completely overlooked your post.
All the HAL and the HAL.inf are by default in all our XP based PE. So there's no problem.

Why would setupldr2.bin have to point to a txtsetup2.sif if the kernel name was already fixed in setupldr2.bin?

:lol:

#10 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 07 May 2008 - 03:20 PM

Galapo can you repeat that last test with a little change?
Add in the txtsetup.sif /NUMPROC=2 to
[SetupData]
OsLoadOptions=


Maybe XP defaults not to max. but to min. without parameter?

:lol:

edit:
:thumbup: Just found out that in the Taskmanager the 'a display for each CPU' feature has to be enabled by hand! There should be some settings in menu 'view' be available when you're in the 'resources' tab.
So please try this before using the new start parameter!

:thumbup:

#11 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 07 May 2008 - 04:34 PM

Galapo can you repeat that last test with a little change?


No problem, I'll run some more tests in the morning for you.

Just found out that in the Taskmanager the 'a display for each CPU' feature has to be enabled by hand! There should be some settings in menu 'view' be available when you're in the 'resources' tab.
So please try this before using the new start parameter!

Don't worry -- I've been watching for that!

Regards,
Galapo.

#12 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 07 May 2008 - 11:28 PM

All the HAL and the HAL.inf are by default in all our XP based PE. So there's no problem.


I think this is incorrect: native_Ex and LiveXP don't reference this file.

Anyway, renaming NTKRNLMP.EX_ to NTOSKRNL.EX_, copying hal.inf to INF directory, and having [Hal.Load] section looking like this

[Hal.Load]

acpipic_up=halacpi.dll

e_isa_up=hal.dll

mps_up=halmps.dll

mps_mp=halmps.dll

syspro_mp=halsp.dll

acpiapic_mp=halmacpi.dll

acpiapic_up=halmacpi.dll

results in two CPUs appearing in task manager!

Regards,
Galapo.

#13 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 07 May 2008 - 11:43 PM

setupldr.bin references both ntoskrnl and txtsetup.sif.

#14 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 May 2008 - 12:32 AM

I think this is incorrect: native_Ex and LiveXP don't reference this file.

Anyway, renaming NTKRNLMP.EX_ to NTOSKRNL.EX_, copying hal.inf to INF directory, and having [Hal.Load] section looking like this

[Hal.Load]

acpipic_up=halacpi.dll

e_isa_up=hal.dll

mps_up=halmps.dll

mps_mp=halmps.dll

syspro_mp=halsp.dll

acpiapic_mp=halmacpi.dll

acpiapic_up=halmacpi.dll

results in two CPUs appearing in task manager!

Regards,
Galapo.

Good to know it works.
Now to finding a clever way to let the system switch by.itself! :lol:

:thumbup: What exactly all is missing in your LiveXP, cause i have everything you named in my NaughtyPE!?

:thumbup:

#15 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 08 May 2008 - 12:35 AM

Yes, I was just looking into that. It's the 'XPE - pnp multimedia v9' that adds hal.inf to your build.

Regards,
Galapo.

#16 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 May 2008 - 12:36 AM

setupldr.bin references both ntoskrnl and txtsetup.sif.

I know. But once i patched the second setupldr.bin to load the NTKRNLMP.EX_ i can keep using the original txtsetup.sif, can't i?

:lol:

#17 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 May 2008 - 12:40 AM

Yes, I was just looking into that. It's the 'XPE - pnp multimedia v9' that adds hal.inf to your build.

Regards,
Galapo.

So hal.inf was the only thing that was missing in LiveXP?

:lol:

#18 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 08 May 2008 - 03:40 AM

Only if its safe to have the multi-processor [hal.load] entries when you are not using the multi-processor kernel.

#19 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 08 May 2008 - 03:48 AM

So hal.inf was the only thing that was missing in LiveXP?

Yes, that's right. (Aside from copying and renaming NTKRNLMP.EX_ and editing txtsetup.sif.)

#20 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 May 2008 - 11:28 AM

and editing txtsetup.sif

Was in you txtsetup.sif more missing than: syspro_mp=halsp.dll ?

:lol:

#21 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 May 2008 - 11:31 AM

Only if its safe to have the multi-processor [hal.load] entries when you are not using the multi-processor kernel.

Well at least i and everyone else who uses NaughtyPE has them by default.
So far, i have no reports of problems.

:lol:

#22 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 08 May 2008 - 10:51 PM

Was in you txtsetup.sif more missing than: syspro_mp=halsp.dll ?

Here's what it had before editing:

[Hal.Load]

acpipic_up=halacpi.dll

e_isa_up=hal.dll

mps_up=halapic.dll

mps_mp=halapic.dll

acpiapic_mp=halaacpi.dll

acpiapic_up=halaacpi.dll

Regards,
Galapo.

#23 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 08 May 2008 - 11:13 PM

Damn, i somehow seem to have completely lost track of all the fixes and patches i've done.
I can't even remember working on the HALs before, but they are already 'fixed' in my txtsetup.sif.
Will have to check the next days how things are with the public project.

Thanks and :lol:

#24 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 09 May 2008 - 03:31 PM

:lol: Found out what's going on!
I included lately some EvilPE scripts, that i was able to scavenger from my broken HDD, into my NaughtyPE.
And the EvilPE CreateISO.script included among a few other goodies a txtsetup.sif to replace the one created by the project.

So paraglider, neighter LiveXP nor NaughtyPE include entries to load SMP HALs by default.
My error.

:thumbup:

#25 sshipman

sshipman
  • Members
  • 1 posts
  •  
    United States

Posted 13 February 2013 - 09:15 PM

Hi all.  You have a newby amongst you!

 

Has any more been considered towards this issue?  I have tried all the suggestions here but no luck.  I am working on a device that I need to boot external to run some stress tests on the cores but I can only see one of anything.  The builds go fine and I have done one per addition of change and my device stops at "please wait" once I change the hal.load.  The addition of the hal.inf and the copy to the exe boots but no multi-core.  Any suggestions would be great!! 






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users