meklort has created a branch of chameleon which can boot these machines without cpus=1 with a vanilla kernel.
I've been testing it, so i thought i'd share the method with people who also own hp laptops with this issue.
download meklorts chameleon source:
svn co http://forge.voodooprojects.org/svn/chameleon/branches/meklort
next, build it. If you've ever build chameleon before it's build pretty much EXACTLY the same.
cd meklort/ make
when you're down, this will add a directory inside of sym called i386
This has all the stuff you need to install chameleon. Assuming your drive is disk0 and your osx install is on partition2 you would run the following commands to install chameleon (note: you can check the disk/partition with diskutil list)
cd sym/i386 fdisk -f boot0 -u -y /dev/rdisk0 dd if=boot1h of=/dev/rdisk0s2 cp boot /
now, if you've used another version of Chameleon before, you'll probably have a /Extra directory. If not, you'll need to create it. (in which case you may also wish to create a directory for a chameleon theme, this particular method DOES NOT install a theme, so you will need to manually add a theme. To do so download any theme and put it in /Extra/Themes/Default (or name it whatever you want and put a theme key in the com.apple.boot.plist))
to finish installing this branch of chameleon, you will need to create a directory for the modules and copy them over
mkdir -p /Extra/modules cp KernelPatcher.dylib /Extra/modules cp Symbols.dylib /Extra/modules
again, this only installs chameleon and adds the module which injects the lapic fix for hp kernels, it doesn't add a chameleon theme...though you CAN copy the themes from artwork/themes to /Extra/Themes/ if you like.
one important note: Currently this only works with the 32 bit kernel. meklort has told me he plans to add support for 64 bit at some point.
I hope this helps someone else. One major thing about this is, with the vanilla kernel, and a proper dsdt you can boot without nullcpu and sleepenabler, and your speedstepping will work
also, battery life is a LOT better.