|
From: | BALATON Zoltan |
Subject: | Re: mac99 SMP |
Date: | Sun, 23 Mar 2025 18:01:55 +0100 (CET) |
On Sun, 23 Mar 2025, Jd Lyons wrote:
The Darwin source are vast and I have no idea what I am searching for:
Then keep searching and reading until you understand it more. You can try to search for the property names to see where they are queried. The device tree is used to build the IO registry so it probably ends up there then something might look it up from there. Then see how it's used.
cpu_sync_timebase( void) { natural_t tbu, tbl; boolean_t intr; struct SIGtimebase syncClkSpot; intr = ml_set_interrupts_enabled(FALSE); /* No interruptions in here */ syncClkSpot.avail = FALSE; syncClkSpot.ready = FALSE; syncClkSpot.done = FALSE; while (cpu_signal(master_cpu, SIGPcpureq, CPRQtimebase, (unsigned int)&syncClkSpot) != KERN_SUCCESS) continue; while (*(volatile int *)&(syncClkSpot.avail) == FALSE) continue; isync();
This is the beginning of a function without context so I have no idea what this is but maybe look for where it's called from and that's probably the place you should look more or understand what this function does. If there's something in it you don't know then search for that and so on. If you don't even understand C then first learn that, there are free tutorials online, it should not be too difficult.
Regrads, BALATON Zoltan
[Prev in Thread] | Current Thread | [Next in Thread] |