Jump to content

›› Voodoo XNU Kernel is now Released


mercurysquad
 Share

Voodoo kernel release  

1,280 members have voted

  1. 1. Has Voodoo kernel been working well for you?

    • Yes
      1067
    • No
      213
  2. 2. On which processor do you use this kernel?

    • Intel
      850
    • AMD
      454
  3. 3. Did you use the installer or installed manually?

    • Manually
      397
    • Installer, worked well
      783
    • Installer, but didn't work well
      100


561 posts in this topic

Recommended Posts

Thanks for the reply.

I have one more query,

when we use non-vanilla kernel,in verbose mode one can find message like "the uuid of on disk kernel does not match with current kernel"(not a precise message,just recollecting)

 

i know,this does not have any side effects but can it be avoided ?

 

And since we are talking of UUIDs,just wanted to know if you can implement UUID injection flag into your kernel coz a number of people get error 35 :

 

_CFGetHostUUIDString: unable to determine UUID for host. Error: 35

 

(I know this UUID is different from the kernel uuid)

and also it appears to be random in occurrence and i cant figure out the cause(and hence the solution for the same .

Link to comment
Share on other sites

That means in my case, Voodoo 2 will not be useful at all. I am really happy with the default 10.5.7 kernel, in fact, it recognize my gigabyte mobo as an iMac8,1 something like this never happen in previous default Leopard kernel.

 

Hi.. as aliasa_anderson already "suggested" in his last post, the iMac8,1 identity is Chameleon2's doing, not the kernel. If you don't provide a smbios.plist or disable smbios patching, it will give you a iMac8,1 by default (at least in my machine does). Just to make it clear :(

Voodoo kernel does a similar thing to unsupported CPU's.. e.g.: my Pentium D shows as Intel Core Duo.

As for using the kernel or not, if vanilla doesn't give you problems, no need to use Voodoo. But, read the Documentation under "Who should use this kernel?".. and you can always run it to test.

 

-------------------------------

mercurysquad:

 

Talking about the CPU identity patching.. Is that "really really" necessary?

I know the "why" of the patch.. my points are:

- apps like Geekbench, cpu-x, xBench, they all report my real CPU. I'm guessing that any other app that "really really" wants to know my CPU identity, will be capable of doing so!?

- reading the Documentation i get the feeling that, the problem is only the CPU being reported as "unknown"!? So, again i'm guessing if the CPU was reported as Pentium D, there wouldn't be a problem?

EDIT: In fact, it seems the system reports my real CPU:

AziLandz:~ Azi$ sysctl -a | grep cpu
kern.exec: unknown type returned
hw.ncpu = 2
hw.cpufrequency = 2400000000
hw.availcpu = 2
hw.ncpu: 2
hw.activecpu: 2
hw.cpufrequency_max: 3000000000
hw.cpufrequency_min: 2400000000
hw.cpufrequency: 2400000000
hw.cpufamily: 1943433984
hw.cpu64bit_capable: 1
hw.cpusubtype: 4
hw.cputype: 7
hw.logicalcpu_max: 2
hw.logicalcpu: 2
hw.physicalcpu_max: 2
hw.physicalcpu: 2
machdep.cpu.thread_count: 2
machdep.cpu.core_count: 2
machdep.cpu.address_bits.virtual: 48
machdep.cpu.address_bits.physical: 36
machdep.cpu.tlb.data_large: 64
machdep.cpu.tlb.inst_large: 128
machdep.cpu.tlb.data_small: 64
machdep.cpu.tlb.inst_small: 128
machdep.cpu.cache.size: 2048
machdep.cpu.cache.L2_associativity: 6
machdep.cpu.cache.linesize: 64
machdep.cpu.arch_perf.fixed_width: 0
machdep.cpu.arch_perf.fixed_number: 0
machdep.cpu.arch_perf.events: 0
machdep.cpu.arch_perf.events_number: 0
machdep.cpu.arch_perf.width: 0
machdep.cpu.arch_perf.number: 0
machdep.cpu.arch_perf.version: 0
machdep.cpu.thermal.ACNT_MCNT: 0
machdep.cpu.thermal.thresholds: 0
machdep.cpu.thermal.dynamic_acceleration: 0
machdep.cpu.thermal.sensor: 0
machdep.cpu.mwait.sub_Cstates: 0
machdep.cpu.mwait.extensions: 0
machdep.cpu.mwait.linesize_max: 64
machdep.cpu.mwait.linesize_min: 64
machdep.cpu.microcode_version: 7
machdep.cpu.cores_per_package: 2
machdep.cpu.logical_per_package: 2
machdep.cpu.extfeatures: XD EM64T
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR
PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3
MON DSCPL EST CID CX16 TPR PDCM
machdep.cpu.brand: 0
machdep.cpu.signature: 3941
machdep.cpu.extfeature_bits: 537919488 1
machdep.cpu.feature_bits: -1075053569 58525
machdep.cpu.stepping: 5
machdep.cpu.extfamily: 0
machdep.cpu.extmodel: 0
machdep.cpu.model: 6
machdep.cpu.family: 15
machdep.cpu.brand_string: Intel® Pentium® D CPU 3.00GHz
machdep.cpu.vendor: GenuineIntel
AziLandz:~ Azi$ uname -v
Darwin Kernel Version 9.7.0: Sun Jun 14 20:48:28 IST 2009; Voodoo 2.0 Intel alpha3
:xnu-1228.12.14/BUILD/obj/RELEASE_I386

Am i wrong?

- i'm trying to run a "hack", not a Mac :D so, if that wouldn't cause any problem, i'd rather have my hack reporting my CPU than a fake one.

- if the patch could be turned of, i could test if there's really a problem or not and isolate problematic apps.

 

This is no priority! It's just my curiosity. I guess i can compile the kernel my self and change that little bit in the patch..

just have to learn the compiling and patching part :P i'm getting there.

When you have time, thanks for it.

 

p.s.: still no problems with Alpha3.. not even "elusive kp" with Terminal.

Link to comment
Share on other sites

Hi Mercurysquad.

 

Thank you for the info. Just one more quick question, it's about the SSE3 emulator. Is this part of the sources? The thing is if I build a kernel using the a3 sources, the kernel that comes out doesn't seem to have the SSE3 emulator 'inside'. (the alpha3 shows it, my build doesn't, checked by looking into the binary hehe :( Or should I insert it manually (no clue how ;)?

 

Regards, N.M.

 

To sum up: the repository contains full sources but only for the kernel, not the tools needed to build it. In its current form the kernel can be built only if you have built/installed the support tools. We will make available a readymade package soon, but for now you must wrestle with the instructions available online and see what works for you.

 

Hope that answers your queries.

Link to comment
Share on other sites

Hi Mercurysquad.

 

Thank you for the info. Just one more quick question, it's about the SSE3 emulator. Is this part of the sources? The thing is if I build a kernel using the a3 sources, the kernel that comes out doesn't seem to have the SSE3 emulator 'inside'. (the alpha3 shows it, my build doesn't, checked by looking into the binary hehe ;) Or should I insert it manually (no clue how ;)?

 

Regards, N.M.

 

The source tree does include a binary version of the SSE3 emulator. Check http://opensource.mercurysquad.com/voodoo-...k/i386/commpage -- the files are sse3emu.c and sse3emu.h

 

How are you checking for presence of SSE3 emulator? You can make sure the SSE3 emulator is in your kernel binary as follows:

 

$ strings /mach_kernel.voodoo2 | grep Emulator
Turbo's SSE3->SSE2 Emulator v20080917RC6

 

 

Thanks for the reply.

I have one more query,

when we use non-vanilla kernel,in verbose mode one can find message like "the uuid of on disk kernel does not match with current kernel"(not a precise message,just recollecting)

 

i know,this does not have any side effects but can it be avoided ?

 

And since we are talking of UUIDs,just wanted to know if you can implement UUID injection flag into your kernel coz a number of people get error 35 :

 

_CFGetHostUUIDString: unable to determine UUID for host. Error: 35

 

(I know this UUID is different from the kernel uuid)

and also it appears to be random in occurrence and i cant figure out the cause(and hence the solution for the same .

 

Perhaps the message can be avoided if you make a symlink from /mach_kernel --> /mach_kernel.voodoo.

 

As for the host UUID, the kernel uses whatever was passed in by EFI bootloader, and doesn't attempt to create any fake UUID if one was not found. We only support EFI bootloaders, and won't be adding any workarounds for things that a good EFI bootloader should be doing already (in contrast to Voodoo 9.5.0 where we had plenty of such workarounds for bootloader bugs).

Link to comment
Share on other sites

mercurysquad:

 

Talking about the CPU identity patching.. Is that "really really" necessary?

I know the "why" of the patch.. my points are:

- apps like Geekbench, cpu-x, xBench, they all report my real CPU. I'm guessing that any other app that "really really" wants to know my CPU identity, will be capable of doing so!?

- reading the Documentation i get the feeling that, the problem is only the CPU being reported as "unknown"!? So, again i'm guessing if the CPU was reported as Pentium D, there wouldn't be a problem?

 

Since this issue keeps coming up again and again, let me try to paste the Apple source code and my own source code snippet (includes comments) --

 

/*
*	CPU families (sysctl hw.cpufamily)
*
* These are meant to identify the CPU's marketing name - an
* application can map these to (possibly) localized strings.
* NB: the encodings of the CPU families are intentionally arbitrary.
* There is no ordering, and you should never try to deduce whether
* or not some feature is available based on the family.
* Use feature flags (eg, hw.optional.altivec) to test for optional
* functionality.
*/
#define CPUFAMILY_UNKNOWN	0
#define CPUFAMILY_POWERPC_G3 0xcee41549
#define CPUFAMILY_POWERPC_G4 0x77c184ae
#define CPUFAMILY_POWERPC_G5 0xed76d8aa
#define CPUFAMILY_INTEL_6_13 0xaa33392b
#define CPUFAMILY_INTEL_6_14 0x73d67300  /* "Intel Core Solo" and "Intel Core Duo" (32-bit Pentium-M with SSE3) */
#define CPUFAMILY_INTEL_6_15 0x426f69ef  /* "Intel Core 2 Duo" */
#define CPUFAMILY_INTEL_6_23 0x78ea4fbc  /* Penryn */
#define CPUFAMILY_INTEL_6_26 0x6b5a4cd2  /* Nehalem */
#define CPUFAMILY_ARM_9	  0xe73283ae
#define CPUFAMILY_ARM_11	 0x8ff620d8
#define CPUFAMILY_ARM_XSCALE 0x53b005f5
#define CPUFAMILY_ARM_13	 0x0cc90e64

#define CPUFAMILY_INTEL_YONAH	CPUFAMILY_INTEL_6_14
#define CPUFAMILY_INTEL_MEROM	CPUFAMILY_INTEL_6_15
#define CPUFAMILY_INTEL_PENRYN	CPUFAMILY_INTEL_6_23
#define CPUFAMILY_INTEL_NEHALEM	CPUFAMILY_INTEL_6_26

#define CPUFAMILY_INTEL_CORE	CPUFAMILY_INTEL_6_14
#define CPUFAMILY_INTEL_CORE2	CPUFAMILY_INTEL_6_15

 

As you can see above, the CPU type to report (via sysctl key hw.cpufamily) here must be from among the arbitrarily defined values. Badly written programs (like Microsoft Silverlight) use these values to identify the CPU's "Marketing Name." They usually have a list of these values that they support and fail on anything else. So we MUST supply a value which is from this list, and we can't invent our own values for other CPUs like Pentium D.

 

Here is the snippet of code where I've made changes to report an alternate CPU:

			/* mercurysquad: Report cpu family as one of the Apple-recognized
		 * CPUs, for CPU families other than 6. This entire system is very
		 * myopic, where the kernel explicitly encourages checking for a handful
		 * of families with arbitrary signatures. We cannot define our own
		 * signatures here as we never know when an installer or other app
		 * might check among only the ones stock kernel supports.*/
	case 15:
		/* This applies to Pentium 4/D and AMD Phenom. In the future
		 * we might want to choose a more specific cpufamily based on the
		 * number of cores etc., but for now it's just not worth it IMO */
		switch (cpuid_info()->cpuid_model) {
			case 0:
			case 1:
			case 2:
				/* Report Core Solo/Duo for these models */
				cpufamily = CPUFAMILY_INTEL_6_14;
			default:
				/* For higher models, report Core 2 Duo */
				cpufamily = CPUFAMILY_INTEL_6_15;
		}
	default:
		/* For unknown CPU families, just report Intel Core */
		cpufamily = CPUFAMILY_INTEL_6_14;
}

 

Hope it's clear now.

Link to comment
Share on other sites

Hi mercurysquad,

 

The source tree does include a binary version of the SSE3 emulator. Check http://opensource.mercurysquad.com/voodoo-...k/i386/commpage -- the files are sse3emu.c and sse3emu.h

How are you checking for presence of SSE3 emulator? You can make sure the SSE3 emulator is in your kernel binary as follows:

$ strings /mach_kernel.voodoo2 | grep Emulator
Turbo's SSE3->SSE2 Emulator v20080917RC6

 

I checked it on/in the binary I build. It doesn't have the SSE3 emulator in it. It looks like that if you do a "hg clone http://opensource.mercurysquad.com/voodoo-xnu-kernel xnu-1228.12.14" the source files you mentioned are not there, but If I download b5180fcdf097.zip via the website they are in. Odd, or not?-)

 

Anyway, I'll try some more building ;-)

 

Cheers!

 

N.M.

 

Update: the sources via the hg clone command build for me (no SSE3 emu though...), the sources via the b5180fcdf097.zip give me an error..

Link to comment
Share on other sites

Hi mercurysquad,

I checked it on/in the binary I build. It doesn't have the SSE3 emulator in it. It looks like that if you do a "hg clone http://opensource.mercurysquad.com/voodoo-xnu-kernel xnu-1228.12.14" the source files you mentioned are not there, but If I download b5180fcdf097.zip via the website they are in. Odd, or not?-)

 

Anyway, I'll try some more building ;-)

 

Cheers!

 

N.M.

 

Update: the sources via the hg clone command build for me (no SSE3 emu though...), the sources via the b5180fcdf097.zip give me an error..

 

That's weird, I just checked http://opensource.mercurysquad.com/voodoo-...k/i386/commpage and the files are there.

 

After hg clone, you also have to do hg update -C voodoo-merge-intel or hg update -C alpha3 for example, to update the working directory to a particular branch, tag or revision. Try that and see if it works..

 

EDIT: OK I figured out why the tip doesn't build -- I forgot to include the bcopy_sse3_64.s file (unrelated to sse3 emulator) after fixing the pentium D commpage bug. It's now included and the "alpha3" tag has been reset. It should build now if you hg update -C tip, or hg update -C alpha3, before building.

Link to comment
Share on other sites

Thank you again for the info :-)

 

And:

 

Succes! Hurray \o/ :-)

 

uname -a

Darwin iMac.local 9.7.0 Darwin Kernel Version 9.7.0: Wed Jun 17 08:46:55 CEST 2009; Voodoo 2.0 Intel alpha3 :xnu-1228.12.14/BUILD/obj/RELEASE_I386 i386

 

A home build of the Voodoo labs kernel! ;) It's great! :)

 

And: now what? hehe :D

 

Perhaps you can point me to were to start looking in/grasping the sources?-) Though I am not the most gifted programmer, but it sounds like fun to have a look.

 

Cheers! N.M.

 

 

 

That's weird, I just checked http://opensource.mercurysquad.com/voodoo-...k/i386/commpage and the files are there.

 

After hg clone, you also have to do hg update -C voodoo-merge-intel or hg update -C alpha3 for example, to update the working directory to a particular branch, tag or revision. Try that and see if it works..

 

EDIT: OK I figured out why the tip doesn't build -- I forgot to include the bcopy_sse3_64.s file (unrelated to sse3 emulator) after fixing the pentium D commpage bug. It's now included and the "alpha3" tag has been reset. It should build now if you hg update -C tip, or hg update -C alpha3, before building.

Link to comment
Share on other sites

Cool. The next step is going over all the source code changes compared to stock Apple sources. For example, you can clone another copy, update to "rev 0" which is stock Apple source, and then compare the two using FileMerge:

 

cd xnu-1228.12.14
hg update -C tip
cd ..
hg clone xnu-1228.12.14 stockxnu
cd stockxnu
hg update -C 0
cd ..
opendiff xnu-1228.12.14 stockxnu

 

Cheers.

 

 

Thank you again for the info :-)

 

And:

 

Succes! Hurray \o/ :-)

 

uname -a

Darwin iMac.local 9.7.0 Darwin Kernel Version 9.7.0: Wed Jun 17 08:46:55 CEST 2009; Voodoo 2.0 Intel alpha3 :xnu-1228.12.14/BUILD/obj/RELEASE_I386 i386

 

A home build of the Voodoo labs kernel! :) It's great! :)

 

And: now what? hehe :)

 

Perhaps you can point me to were to start looking in/grasping the sources?-) Though I am not the most gifted programmer, but it sounds like fun to have a look.

 

Cheers! N.M.

Link to comment
Share on other sites

Since this issue keeps coming up again and again, let me try to paste the Apple source code and my own source code snippet (includes comments) --

...

As you can see above, the CPU type to report (via sysctl key hw.cpufamily) here must be from among the arbitrarily defined values. Badly written programs (like Microsoft Silverlight) use these values to identify the CPU's "Marketing Name." They usually have a list of these values that they support and fail on anything else. So we MUST supply a value which is from this list, and we can't invent our own values for other CPUs like Pentium D.

 

Here is the snippet of code where I've made changes to report an alternate CPU:...

 

Hope it's clear now.

 

Well.. that part has always been clear to me.. i know that code, the Apple one and yours :) And yes, i know this question came up a lot of times. I'm not trying to question the patch it self, just trying to understand.

What gets me confused is, why some apps/tools report my CPU and others don't :)

Is that because they get the info from different places?

Besides "About This Mac" and System Profiler --> Hardware that show "Intel Core Duo" i only found a app (Hyperspaces) that wanted to include in a report "Intel Core 2".

Does that mean that it checked the key?

The great majority of the apps report my real CPU. I found Regie and Processor control panel that report "Unknown".

Just looking for confirmations :)

Thanks for the time and sorry about the noob questions.

Link to comment
Share on other sites

Thanks Mercurysquad, "that's gonna keep me amused for hours!" ;-)

 

(and probably a bit longer :-) Cheers!

 

Cool. The next step is going over all the source code changes compared to stock Apple sources. For example, you can clone another copy, update to "rev 0" which is stock Apple source, and then compare the two using FileMerge:

 

cd xnu-1228.12.14
hg update -C tip
cd ..
hg clone xnu-1228.12.14 stockxnu
cd stockxnu
hg update -C 0
cd ..
opendiff xnu-1228.12.14 stockxnu

 

Cheers.

Link to comment
Share on other sites

Well.. that part has always been clear to me.. i know that code, the Apple one and yours :( And yes, i know this question came up a lot of times. I'm not trying to question the patch it self, just trying to understand.

What gets me confused is, why some apps/tools report my CPU and others don't :(

Is that because they get the info from different places?

Besides "About This Mac" and System Profiler --> Hardware that show "Intel Core Duo" i only found a app (Hyperspaces) that wanted to include in a report "Intel Core 2".

Does that mean that it checked the key?

The great majority of the apps report my real CPU. I found Regie and Processor control panel that report "Unknown".

Just looking for confirmations :wacko:

Thanks for the time and sorry about the noob questions.

 

Well there are many ways to get information about the processor. The only realiable way is to execute CPUID instruction and then read the returned values. But some programs use CPUID, some use sysctl, some even use system profiler.. they all get the CPU type from different places, and the "hw.cpufamily" sysctl is just one source. Within sysctl keys itself there are like 3-4 keys which give the cpu type info in slightly different ways.

 

"Hyperspaces" probably uses the hw.cpufamily sysctl key and thus gets Intel Core 2. Reggie/Processor control panel probably query some other place and get actual CPU info, see that it's a non-apple cpu and report it as Unknown.

 

Whatever.

 

The point is that for the sysctl hw.cpufamily key, we can only report one of the defined values, so I chose Intel Core or Core 2 which seems to fix many problems. For this particular key, there is no way to report any CPU type other than the values defined in the Apple source code.

Link to comment
Share on other sites

yup.. it does fixes many problems ;) The code is clear from the point of view of what it does but, the importance of it was not clear to me. With this explanations, revisiting some old posts and a non working kernel, i managed to build (a 9.0.5, with voodoobuild) without that bit of patching, i think i connected the dots.

The important thing is the key, and we can't change the CPU id that it reports. And my CPU "really really" needs that patch!! Got it.

 

---------------------------

 

Still on the hardware id reporting side, there's another value that confuses me and i don't know if it's important, or has anything to do with the kernel. It's L2 Cache.. all the apps/tools that i tested and can report it, report 1MB (not sure if per core) when it should be 4MB (2MB per core). The curious thing is, System Profiler reports it correctly ;)

Any idea? related to kernel, that is..

 

Another thing.. i starred issue 282 because i have a similar problem. I say it's similar because i don't have any errors in system.log.. just the audio problems with my USB audio interface. It does stop wen using built in PCI.

This problem started since i managed to fix my ATI card a few days ago (finally ;) ).. didn't had it using built-in GMA950.

My FSB is correct, i'm sure! And using Chameleon or XPC doesn't make a difference.

It's mostly noises, that get more intense with Graphics activity.. VMWare running, for example but, simple folder navigation, scrolling pages, etc... does too.

Should i report on issue 282?

Link to comment
Share on other sites

Still on the hardware id reporting side, there's another value that confuses me and i don't know if it's important, or has anything to do with the kernel. It's L2 Cache.. all the apps/tools that i tested and can report it, report 1MB (not sure if per core) when it should be 4MB (2MB per core). The curious thing is, System Profiler reports it correctly ;)

Any idea? related to kernel, that is..

 

 

Did you check what sysctl -a reports for l2 cache ?

Link to comment
Share on other sites

Yes... i'm including sysctl in the "tools" group:

 

hw.cachelinesize = 64

hw.l1icachesize = 0

hw.l1dcachesize = 16384

hw.l2settings = 1

hw.l2cachesize = 1048576

 

And here is a pic of CPU-Z under Windows.

Link to comment
Share on other sites

Still on the hardware id reporting side, there's another value that confuses me and i don't know if it's important, or has anything to do with the kernel. It's L2 Cache.. all the apps/tools that i tested and can report it, report 1MB (not sure if per core) when it should be 4MB (2MB per core). The curious thing is, System Profiler reports it correctly :(

Any idea? related to kernel, that is..

 

Actually this cache thing confuses me a hell lot too. The kernel reports cache size as "cache size" (ie. for each level all the way up to RAM) and "cacheconfig" (ie. how each cache is shared). So for L2 it reports 2MB with sharing 2 (ie. 2x2). System profiler is the only source I have used to check this info is being reported correctly. SO IF any other programs, instead of multiplying by 'sharing' and getting 2x2=4MB, are dividing 2/2 and getting 1MB, it's the program's fault.

 

In any case, as BladeRunner will tell you, I will not fix any more cache issues :( It's purely cosmetic.

Link to comment
Share on other sites

:D don't worry.. if it's "purely cosmetic", i won't ask you to.

Humm.. i think i was checking the wrong values!? I always used and trusted System Profiler to check these values but, my noob logic is that SP uses system tools (like "sysctl") and i like to look "under the hood" (know how things work, get more detailed info) so:

AziLandz:~ Azi$ sysctl hw
hw.ncpu: 2
hw.byteorder: 1234
hw.memsize: 3221225472
hw.activecpu: 2
hw.optional.patcher_opts: 0
hw.optional.x86_64: 1
hw.optional.sse4_2: 0
hw.optional.sse4_1: 0
hw.optional.supplementalsse3: 0
hw.optional.sse3: 1
hw.optional.sse2: 1
hw.optional.sse: 1
hw.optional.mmx: 1
hw.optional.floatingpoint: 1
hw.packages: 1
hw.tbfrequency: 1000000000
hw.l2cachesize: 1048576
hw.l1dcachesize: 16384
hw.l1icachesize: 0
hw.cachelinesize: 64
hw.cpufrequency_max: 3000000000
hw.cpufrequency_min: 2400000000
hw.cpufrequency: 2400000000
hw.busfrequency_max: 800000000
hw.busfrequency_min: 800000000
hw.busfrequency: 800000000
hw.pagesize: 4096
hw.cachesize: 3221225472 16384 2097152 0 0 0 0 0 0 0
hw.cacheconfig: 2 1 1 0 0 0 0 0 0 0
hw.cpufamily: 1943433984
hw.cpu64bit_capable: 1
hw.cpusubtype: 4
hw.cputype: 7
hw.logicalcpu_max: 2
hw.logicalcpu: 2
hw.physicalcpu_max: 2
hw.physicalcpu: 2
hw.machine = i386
hw.model = iMac8,1
hw.ncpu = 2
hw.byteorder = 1234
hw.physmem = 2147483648
hw.usermem = 1929768960
hw.pagesize = 4096
hw.epoch = 0
hw.vectorunit = 1
hw.busfrequency = 800000000
hw.cpufrequency = 2400000000
hw.cachelinesize = 64
hw.l1icachesize = 0
hw.l1dcachesize = 16384
hw.l2settings = 1
hw.l2cachesize = 1048576
hw.tbfrequency = 1000000000
hw.memsize = 3221225472
hw.availcpu = 2

.. i was looking at "l2cachesize". The values you mentioned, cachesize/cacheconfig are correct :P I completely overlooked/missed those values.. "sysctl machdep" also shows "machdep.cpu.cache.size: 2048".

Well, i was kind of fooled by the fact that, "l1dcachesize" is correct so, why wouldn't "l2cachesize" be, right!!?

 

Anyway, glad to know it also confuses you :D and i'm more worried about the sound thing, now.

Pretty sure Voodoo has nothing to do with it!.. but, as there is that issue 282, maybe i'll post there my info.

 

Ok.. changing subject.. "If the mountain doesn't come to the noob, the noob tricks the mountain"! :)

No, i'm not wacko.. talking about compiling the kernel. Man, setting up the "build environment" is a pain in...!!! I still didn't managed to set it by compiling and installing the tools, not even after updating XCode (3.1.3 is out) that solved some problems like, the BSDCommon.make file that i only found in Snow Leo's XCode before.

Now i can't get passed "make install" in bootstrap_cmds..:

bash-3.2# make install
  Error: TargetConfig not defined
  make: *** [_targetconfig] Error 1

wtf :angry2: damn thing!

So, what i did to "trick the mountain" was, using DarwinBuild (gave it a try some months ago but, it was to much for me at the time.. now was fairly simple), as i found some up to date :blink: guides at PureDarwin, that really help a lot. After some successful compilations, got the needed tools from DarwinBuild's environment to the system usr/local folder, repaired permissions, removed blacklist patch (for no reason), added personal touch, compile and:

AziLandz:~ Azi$ uname -v

Darwin Kernel Version 9.7.0: Sun Jun 21 18:59:12 WEST 2009; Voodoo 2.0 Intel a3 Azi :xnu-1228.12.14/BUILD/obj/RELEASE_I386

..personalized home made Voodoo kernel :D feels nice to be able to really appreciate the work you guys been doing!!

Been using the File Merge tip you gave to Never Mind to take a look at the source.. well commented nice to follow coding.

Going to give another try at setting the build environment.. damn thing..

See ya..

 

 

Edit: Looking for info to another error, found this script that helped a lot. I think there's only a "ar.h" file situation that is not covered.. have to do it in a clean install. I'm not 100% sure my system was clean from any needed file.. i think so but.. ;)

Edited by Azimutz
Link to comment
Share on other sites

I get a new error with my setup when using voodoo kernel 9.5.0.

 

It says something about nfs boot init failed, then points to voodo kernel:

t565649_kernelerror.jpg

 

My setup:

Gigabyte 790fx UD4P

AMD Phenom II X2 550

8Gb DDR2 RAM

ATI Radeon 3850

 

Tried iAtkos 7, XxX 10.5.6, i keep getting the same error, even when using maxmem=2048 and cpus=1

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

Hi guys.

10.5.8 sources are out. I checked them and the differences in XNU are minimal. Of all the patched files, only one has some code added and as far as this noob here can understand, nothing that can conflict with the actual patches was changed. Also, only one of the tools needed to compile the kernel was updated (IOKitUser-388.53.30.tar.gz). So, i gave a try at updating the existing "Voodoo 2 alpha3" to 9.8 (xnu-1228.15.4). This was 99% copy/paste/replace.. anything more would be to much for me!

As far as i can see, everything is working normally in my system so, i decided to share this with you :) until the team releases an update.

There's no extra "voodoo" in this kernel! Nothing added, nothing removed! If something didn't worked for you before, will not work now. If something works better it's Apple's fault. If you get some new problem, also blame Apple.

 

Thanks fly out to the Voodoo team!

Without the work you guys done and shared with us, i could never do this.

 

p.s.: Don't ask me for diff file because i don't know how to do it :D and really, it would only show you my name and Apple's updates. <-- damn noob talk ;)

 

Just sharing...

 

EDIT: i will remove this kernel as soon as the Voodoo team releases an update, beta tests resume or i'm asked to.

 

EDIT: did a little update to the kernel, to be more respectful to the team's work. Changed name and kernel panic message.

 

EDIT: Ok.. the last piece of the puzzle.. attached diff file. Thanks to "skn" for support :)

 

EDIT: Downloads removed.

REASON: None of the ones stated on the first EDIT. Simply, this doesn't need to be around.

There are plenty 9.8 kernels around made by people with more knowledge than me.

All Thanks prevail.

post-291566-1250237889_thumb.png

Edited by Azimutz
Link to comment
Share on other sites

Downloaded and installed this kernel. My machine under system profiler shows it as 9.7 kernel not 9.8 as expected. It's also half the size of the Voodoo 9.7 . Oddly my wireless mouse & Internet connection no longer work. Going back to the Voodoo 9.7 fixes both. Nice try and thank you for taking the time to share it. I have no idea why it doesn't work on my machine.

Link to comment
Share on other sites

 Share

×
×
  • Create New...