| informationsyndicateUTC clock | event counters The last message was received 3.06 months ago at 00:00 on Nov 13, 2011 0 messages so far today, 0 messages yesterday 0 messages so far this week, 0 messages last week 0 messages so far this month, 0 messages last month 37 messages since the first one, 5.79 years ago, for an average of 1.9 months between messages recent messages date | project | content | link |
|---|
| 21:25 on Nov 12, 2011 | haiku | Commit by geist on master :: r hrev43246 haiku/: ( link) [build][OSX] revise the darwin test to darwin10 and darwin11, not a wildcard
As PulkoMandy pointed out on IRC, darwin10 and 11 (10.6 and 10.7) are at least partially 64bit, so the test only applies there. When darwin12 comes out it'll have to be fixed. | # | | 21:01 on Nov 12, 2011 | haiku | Commit by geist on master :: r hrev43245 haiku/: ( link) Fix build on OSX Lion, which has apparently bumped the darwin version to darwin11 | # | | 01:01 on Jun 12, 2010 | OpenBeOS | Commit by geist :: r37108 /haiku/trunk/ (3 files in 3 dirs): SMP: remove the tracking of apic id -> cpu id. Don't pass between bootloader and kernel.
Kernel doesn't use it, and it could be regenerated in the kernel if it did need it.
This also unlocks the apic range the bios can use. Previously the apic ids would have to fit within 0..MAX_CPUS or it'd reject the cpu. Some boxes (mine in particular) seem to sparsely populate the apic id so that the range is pretty large. | # | | 03:47 on May 17, 2010 | OpenBeOS | Commit by geist :: r36836 /haiku/trunk/src/system/boot/platform/bios_ia32/smp.cpp: BOOT SMP: allow systems with a large number of cpus and/or sparse apic ids to actually boot
The old mechanism to route an apic id back to a cpu id is faulty, built with the assumption that the bios will 'pack' the apic ids from 0-num_cpus. In systems that dont do that, the code would randomly corrupt the bootloader. Fatal in this case.
This quick fix simply rejects all apic ids >= MAX_CPUS (8). No way it would have worked before if you had a box that started with >= 8 or anything, so it shouldn't regress any existing system.
Better solution is to allow any apic id to exist (0-255).
On this particular box the ids (from lunix dmesg): SRAT: PXM 0 -> APIC 0 -> Node 0 SRAT: PXM 1 -> APIC 16 -> Node 1 SRAT: PXM 0 -> APIC 2 -> Node 0 SRAT: PXM 0 -> APIC 4 -> Node 0 SRAT: PXM 0 -> APIC 6 -> Node 0 SRAT: PXM 1 -> APIC 18 -> Node 1 SRAT: PXM 1 -> APIC 20 -> Node 1 SRAT: PXM 1 -> APIC 22 -> Node 1 SRAT: PXM 0 -> APIC 1 -> Node 0 SRAT: PXM 0 -> APIC 3 -> Node 0 SRAT: PXM 0 -> APIC 5 -> Node 0 SRAT: PXM 0 -> APIC 7 -> Node 0 SRAT: PXM 1 -> APIC 17 -> Node 1 SRAT: PXM 1 -> APIC 19 -> Node 1 SRAT: PXM 1 -> APIC 21 -> Node 1 SRAT: PXM 1 -> APIC 23 -> Node 1 | # | | 20:19 on Sep 19, 2009 | OpenBeOS | Commit by geist :: r33192 /haiku/trunk/build/jam/FileRules: Fix the CopySetHaikuRevision1 rule if you're building in a plain git repository, not mirroed via git-svn. Calling git-svn on a plain repository seems to cause it to go haywire. | # | | 05:37 on Jun 21, 2007 | OpenBeOS | Commit by geist :: r21477 /haiku/trunk/ (3 files in 2 dirs): re-enable kernel asserts. Disabled by default, but all kernel devs are *highly* recommended to turn them on for your builds and see if it trips anything, and then fix it. | # | | 05:07 on Jun 21, 2007 | OpenBeOS | Commit by geist :: r21476 /haiku/trunk/src/system/kernel/module.cpp: Fix a bug that was tripping an assert in the kernel module code. When iterating through modules, the iterator was loading the module file, inserting it into the module image hash. Then, the first time get_module() was called on a module contained in the image, it was trying to load the image again. It probably actually was. Changed the logic to call get_module_image() which checks to see if it's already loaded. | # | | 19:43 on Jun 16, 2007 | OpenBeOS | Commit by geist :: r21423 /haiku/trunk/ (6 files in 5 dirs): some make system work to get x86-64 linux compiles working: -The biggest problem with linking host libraries (libbe_build and libroot_build) was not having the source files compiled with the -fPIC flag. As far as I can tell, we want to do this on all of the other host platforms as well, so hacked the jam files a bit to add it. Forgive me if I've committed more Jamfile sins. | # | | 05:18 on Jun 14, 2007 | OpenBeOS | Commit by geist :: r21407 /haiku/trunk/src/ (3 files in 3 dirs): fix the build on darwin:
-fs_shell was using weak aliases, which is apparently not supported on the darwin toolchain
(or it's supported in some different way)
-remove building strl* routines for some of the host tools, since that already exists in libSystem | # | | 04:19 on Apr 17, 2007 | OpenBeOS | Commit by geist :: r20732 /haiku/trunk/src/system/libroot/posix/string/arch/x86/arch_string.S: set the function attribute on the asm memcpy. This should fix the loader problem some folks were seeing on beos binaries. | # | | 06:48 on Apr 16, 2007 | OpenBeOS | Commit by geist :: r20723 /haiku/trunk/src/system/kernel/ (3 files in 2 dirs): asm optimized user_memcpy(), which should help somewhat, since the old version was a byte-by-byte copy. | # | | 06:17 on Apr 16, 2007 | OpenBeOS | Commit by geist :: r20722 /haiku/trunk/src/system/ (13 files in 9 dirs): Turn the assembly optimized memcpy (simple rep movsd) back on for x86. Had to hack around the make system a bit, and the result is pretty nasty, specifically due to the amount of places in the system where various targets poke their fingers into the libroot directory. The solution is less than optimal, but should work for now. | # | | 03:20 on Apr 16, 2007 | OpenBeOS | Commit by geist :: r20720 /haiku/trunk/src/system/libroot/posix/unistd/_exit.c: fix a bug in _exit() that called the _IO_cleanup routine as if it was a function pointer, which it isn't. The mistake was probably made because there appears to be multiple stdio implementations in the tree (BSD and glibc) so it's easy to look at the wrong code. Perhaps we should clean that up. | # | | 08:09 on Mar 01, 2007 | OpenBeOS | Commit by geist :: r20269 /haiku/trunk/ (4 files in 2 dirs): this seems to solve the 'lock up on bootup on core 2' problem. Basically, there was a pretty subtle race between the cpus in main where if the main cpu released the AP cpus and then before the AP cpus had a chance to run the boot cpu started creating the main thread (which causes smp ici messages to be created) the system would livelock, where the boot cpu waited forever for the AP cpu to acknowledge the ICI (for a TLB flush when creating the kernel stack). Added smp_cpu_rendezvous(), used to synchronize all the cpus to a particular point, and used it a few times in main(). While i was at it i fixed another race that'll probably never happen, but what the hey. Make sure the kernel args are copied into kernel space by the main cpu before letting any other ones use it. | # | | 07:49 on Mar 01, 2007 | OpenBeOS | Commit by geist :: r20268 /haiku/trunk/src/system/kernel/arch/x86/arch_smp.c: the last smp change wasn't quite it. This time, make sure it maps the right physical page. | # | | 06:30 on Mar 01, 2007 | OpenBeOS | Commit by geist :: r20265 /haiku/trunk/src/system/kernel/arch/x86/arch_smp.c: the recent vm change uncovered a long standing latent pseudo-bug where the local and ioapic memory window were mapped into kernel space via create_area(), not map_physical_memory() like it should be. create_area() used to work fine, but now it's a big more picky about mapping memory it can't get a vm_page to (like stuff outside the range of RAM). | # | | 07:06 on Feb 25, 2007 | OpenBeOS | Commit by geist :: r20227 /haiku/trunk/build/scripts/build_cross_tools: When building binutils, build without -Werror. This was causing failures on my linux box due to silly warnings in binutils code. | # | | 06:57 on Feb 19, 2007 | OpenBeOS | Commit by geist :: r20162 /haiku/trunk/src/system/kernel/team.c: fix a kernel clobberer that showed up when running gcc. Was able to successfully build a hello world app with gcc after this. The kernel arg logic was faulty, and wasn't using strlcpy properly (which returns the size of the src string, not the remaining size). Replaced it with a simpler, but less efficient series of strlcat()s. | # | | 00:32 on Feb 19, 2007 | OpenBeOS | Commit by geist :: r20161 /haiku/trunk/ (9 files in 5 dirs): initial support for a commpage, which is a chunk of memory in high kernel space with user readonly permissions. The first use is to let the kernel decide what the preferred syscall mechanism is at boot time and copy the appropriate user space code there. Can be used for routines the kernel can decide best how to use (memcpy, some timing routines, etc). | # | | 00:11 on Feb 19, 2007 | OpenBeOS | Commit by geist :: r20160 /haiku/trunk/ (11 files in 7 dirs): yet another fix for #1018, which has at this point blossomed into a reorg of how AP cpus are initialized. the new cpuid stuff was apparently exacerbating an existing problem where various bits of low level cpu code (specifically get_current_cpu) weren't really initialized before being used. Changed the order to set up a fake set of threads to point each cpu at really early in boot to make sure that at all points in code it can get the current 'thread' and thus the current cpu. A probably better solution would be to have dr3 point to the current cpu which would then point to the current thread, but that has a race condition that would require an int disable, etc. | # |
|