Commit graph

165 commits

Author SHA1 Message Date
Tomas Hruby 62c666566e SMP - We boot APs
- kernel detects CPUs by searching ACPI tables for local apic nodes

- each CPU has its own TSS that points to its own stack. All cpus boot
  on the same boot stack (in sequence) but switch to its private stack
  as soon as they can.

- final booting code in main() placed in bsp_finish_booting() which is
  executed only after the BSP switches to its final stack

- apic functions to send startup interrupts

- assembler functions to handle CPU features not needed for single cpu
  mode like memory barries, HT detection etc.

- new files kernel/smp.[ch], kernel/arch/i386/arch_smp.c and
  kernel/arch/i386/include/arch_smp.h

- 16-bit trampoline code for the APs. It is executed by each AP after
  receiving startup IPIs it brings up the CPUs to 32bit mode and let
  them spin in an infinite loop so they don't do any damage.

- implementation of kernel spinlock

- CONFIG_SMP and CONFIG_MAX_CPUS set by the build system
2010-09-15 14:09:52 +00:00
Ben Gras eaa37fd21c make, lib changes to make gcc/clang format libraries in /usr/lib instead of /usr/gnu/lib. 2010-09-13 16:37:02 +00:00
Ben Gras b7eb096088 Makefiles: remove -D__minix for assembly invocations.
They seem to be redundant (for gcc+ack+clang) and produce
very messy warnings (for clang, due to it already being defined).
2010-09-13 13:36:29 +00:00
Ben Gras b3c3a1cb1e gcc compiles - add -fno-builtin so that gcc optimisations don't break things.
- kernel compile was broken with gcc as putchar() was added by gcc in
    stacktrace.c
  - add -fno-builtin everywhere to avoid such problems in the future
  - -fno-builtin in kernel now redundant
2010-08-31 16:42:44 +00:00
Ben Gras 5d6c2aae0a gcov support, based on work contributed by Anton Kuijsten. 2010-08-25 13:06:43 +00:00
Ben Gras 0f4eda33eb new base libaudiodriver out of -lcommon in drivers/audio.
- this lets the drivers that used that library be compiled easily with
   different compilers.
2010-08-25 11:03:53 +00:00
Ben Gras 4b9420d7d7 mk: use ar instead of gar for gcc/clang ar. 2010-08-18 16:08:10 +00:00
Ben Gras a46b8b84d4 aal - don't install yourself as ar; must invoke aal explicitly for ack archives.
To make switching to 'ar' for gcc/clang archives smoother in the future.
2010-07-16 15:40:04 +00:00
Arun Thomas 590ff06418 Fix bsd.own.mk owners/objformat for pkgsrc
Contributed by Gautam Tirumala
2010-07-12 13:48:14 +00:00
Ben Gras dc47875fc7 sys.mk: remove trailing whitespace. 2010-07-06 11:48:11 +00:00
Ben Gras 7011e7c680 mk: add recognizing CC=clang, patch by Arun 2010-07-05 17:33:34 +00:00
Arun Thomas 2fc2748c5a Add missing share/mk/Makefile 2010-06-26 08:01:30 +00:00
Arun Thomas e10916476a Move mkfiles from /etc/mk to /usr/share/mk
Simplifies pkgsrc porting.
2010-06-25 19:33:56 +00:00
Arun Thomas c0c8d25799 Rename mkfiles from minix.*.mk to bsd.*.mk
Makes things easier for pkgsrc
2010-06-25 18:29:09 +00:00
Arun Thomas 5706670029 Convert boot/ and commands/ over to bsdmake 2010-05-12 16:28:54 +00:00