## Old News

- August 15, 1997:
  - The 970815-SNAP is considered the most recent 'stable' snapshot. Past this date experimental work on lock pushdown is in progress. If you have NOT used FreeBSD SMP on your hardware before, start with the 970815 SNAP. After verifying that SMP works on your system you are encouraged to cvsup to the latest code and help exercise the lock changes.

- July 29, 1997:
  - IO APIC access moved outside the "giant lock" (PEND_INTS algorithm).

- June 23, 1997:
  - SMP_PRIVPAGES functionality committed and working.
  - option SMP_PRIVPAGES no longer used, this functionality is automatic.

- April 27, 1997:
  - 'make world' of 3.0-current now works again.
  - LKMs for SMP kernels might not always work.
  - The SMP specific code tree is now frozen and "for reference only".

  ##

- April 26, 1997:
  - ******* SMP merged into 3.0-current ********
  - SMP kernel builds from /usr/src/sys work.
  - 'make world' currently broken (we're working on it).
  - make -DNOLKM world *might* get thru...

- April 24, 1997:
  - The latest attempt to fix the APIC_IO/SMP_INVLTLB deadlock appears to work.
  - To enable uncomment "#define XFAST_IPI32" in i386/include/smptests.h.

- April 19, 1997:
  - 3.0-SMP updated to 3.0-current (ie., the post Lite-2 version).
  - This version requires a -current "world" as of (approximately) 97-04-18.

- March 1, 1997:
  - 3.0-SMP updated to 3.0-current (ie., current immediately preceeding Lite-2).

- February 5, 1997:
  - added pointers to Rogue hardware and floating point bugs pages.
  - Here's the reference config file. I need a volunteer to create a current SMP kernel with it.

- January 25, 1997:
  - 3.0-970124-SNAP released. Again, not yet merged with SMP code. Recent reports suggest 3.0-current may be far enough out of sync with SMP that the 2 trees are no longer compatible. Would appreciate reports from anyone having insight on this.

- January 14, 1997:
  - First 3.0-current SNAP released.
  - NOTE: this does NOT contains the SMP specific code, its just a base point from which to start, see "Getting started", below, for details on getting the SMP specific files.

- December 31, 1996:
  - 3.0-SMP updated to 3.0-current.

- December 24, 1996:
  - P6 bug found!!!
    - cheap fix (real fix will arrive later), modify pmap.c:

      + #if !defined( SMP )
      	if (cpu_feature & CPUID_PGE)
      	        pgeflag = PG_G;
      	else
      + #endif /* !SMP */
      		pgeflag = 0;

- December 3, 1996:
  - 3.0-SMP updated to 3.0-current.
    - syscons problem should be fixed, report ASAP if not.

- December 2, 1996:
  - All is well with the World, we're working again!!!
    - There are now 3 branches of test code for the current issues:
      1. automatic CPU startup.
      2. page table entry invalidation.
      3. per CPU private pages.
    - EIDE working with APIC_IO

- November 30, 1996:
  - all systems seem to be working right now except:
    - systems booting off of (E)IDE disks.
        this is driving me bonkers, I need to drum up an IDE drive...
    - > 2 CPU systems.
        these probably work now, but no reports either way yet...
    - frequent sig11/12 faults on all systems.
        what can I say, this eats it!
    - syscons breakage?
        anyone still having problems with syscons?

- November 26, 1996:
  - Current SMP kernel is giving some of these:
    - exited on signal 11
    - Fatal trap 12: page fault while in kernel mode
      we are close to having IPIs working to deal with this problem.
  - "mixed-mode" APIC/8259 INTerrupt control confirmed working

- November 24, 1996:
  - SMP src/sys merge complete. Features/facts:
    - The system console is very broken for some boards only. If you experience problems replace i386/include/console.h and i386/isa/syscons.c with these older version.
    - Speed improvements for single task execution.
    - Initial support for "mixed-mode" APIC/8259 INTerrupt control.
    - EISA boards now appear to work.
    - APIC_LAZY is now the default for "options APIC_IO".

- November 21, 1996:
  - SMP src/sys merged with -current. It is very broken right now.
    - freefall:/incoming has a file called "files1.tar.gz". It contains i386/include/console.h, i386/isa/syscons.c if you experience console hangs/flakyness.
    - Also in this file are older versions of i386/isa/vector.s and i386/isa/icu.s, the new ones are also suspect.
    - Don't even attempt the APIC_IO version till the non-APIC version works.
    - Please report any clues ASAP!

- November 11, 1996:
  - New round of code committed. This fixes MANY bugs for "default configurations". APIC_IO/EISA bus support is known to be broken for non-default configurations at this time. Expect fix in several days.

- November 6, 1996:
  - You can no longer get the SMP sources via sup, it has been replaced by cvsup. First you will need to install the cvsup binaries on your system. These can be found in cvsup-bin-13.5. Install according to the directions in "Install". The supplied supfile converter doesn't know about "smp", so you have to manually edit your 'smp-supfile'. Change "host=sup.FreeBSD.org" to "host=cvsup.FreeBSD.org". If running X invoke as usual, you will get a nice GUI interface, click the green arrow in lower left corner to start. To run without this interface type "cvsup -g -L 2 smp-supfile".

- November 5, 1996:
  - New, improved mptable released. Includes optional dmesg output as well as building an "options" list for the kernel config file. Please download and return results, even if you have previously done so. This version gives me additional information.

- November 1, 1996:
  - I/O APIC support cleanup released @ ALPHA level.

- October 31, 1996:
  - I/O APIC support released.

- October 6, 1996:
  - SMP src/sys synced with -current.

- October 2, 1996:
  - test4c available.
  - test4c commited to CVS tree.

- October 1, 1996:
  - test4a available.
  - test4b available.

- September 29, 1996:
  - The patches for SPARSE/un-ordered APIC IDs have been commited.
  - The patches for non-default APIC addresses have been commited.
  - The patches that fix the "freeze' problem on halt/reboot have been commited.

  - The SMP tree was sync'd with -current.