Revision
7953 -
Directory Listing
-
[select for diffs]
Modified
Wed Sep 14 22:23:25 2016 UTC
(7 years, 9 months ago)
by
laffer1
Diff to
previous 7952
,
to
selected 5087
Add a clts() wrapper around the 'clts' instruction to <machine/cpufunc.h>
on x86 and use that to implement stop_emulating() in the fpu/npx code.
Reimplement start_emulating() in the non-XEN case by using load_cr0() and
rcr0() instead of the 'lmsw' and 'smsw' instructions. Intel explicitly
discourages the use of 'lmsw' and 'smsw' on 80386 and later processors in
the description of these instructions in Volume 2 of the ADM.
Obtained from: FreeBSD svn rev 239914
Revision
7943 -
Directory Listing
-
[select for diffs]
Modified
Wed Sep 14 21:53:46 2016 UTC
(7 years, 9 months ago)
by
laffer1
Diff to
previous 7928
,
to
selected 5087
Partially revert r217515 so that the mem_range_softc variable is always
present on x86 kernels. This fixes the build of kernels that include
'device acpi' but do not include 'device mem'.
Obtained from: FreeBSD
Revision
7447 -
Directory Listing
-
[select for diffs]
Modified
Mon Feb 22 13:05:11 2016 UTC
(8 years, 3 months ago)
by
laffer1
Diff to
previous 7441
,
to
selected 5087
Introduce pipe2 to linux emulation layer.
Based on an earlier FreeBSD patch by Jung-uk Kim. (jkim@freebsd.org)
We don't have the dtrace changes in this code like freebsd 9.2 has.
Revision
4776 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 31 17:05:11 2012 UTC
(12 years, 2 months ago)
by
laffer1
Diff to
previous 4771
,
to
selected 5087
Bring in several improvements from OpenSolaris for dtrace, zfs, etc.
Add kernel code for kernel lock manager for nfs, vfs and vm improvements and general compatibility with the recent network stack changes.
Bring in several improvements and bugfixes from FreeBSD 7.1
Tag $MidnightBSD$
Revision
4737 -
Directory Listing
-
[select for diffs]
Modified
Fri Mar 23 20:48:40 2012 UTC
(12 years, 2 months ago)
by
laffer1
Diff to
previous 4729
,
to
selected 5087
Major feature merge from FreeBSD 7.1
Introduce FIB (Forward Routing Base) aka multiple routing tables to MidnightBSD. This is the kernel piece with userland to follow later.
As part of this work, changes had to be made to the vm subsystem, rwlocks introduced, changes to sleep queues, and modifications to the pf firewall.
Effectively this gives us most of the functionality of the FreeBSD 7.1 network stack including tcp offload.
Revision
4543 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 7 18:37:57 2012 UTC
(12 years, 5 months ago)
by
laffer1
Diff to
previous 4509
,
to
selected 5087
From now on, CURRENT will have witness and invariants enabled by default. This slows down performance, but it makes it much easier to catch kernel problems.
Upon creating a release branch, these options should be removed.
Revision
4508 -
Directory Listing
-
[select for diffs]
Modified
Sat Dec 31 16:59:05 2011 UTC
(12 years, 5 months ago)
by
laffer1
Diff to
previous 4488
,
to
selected 5087
Modify kernel elf routines to support ELF NOTES. Specificaly, handle 'MidnightBSD' and 'FreeBSD' notes for now.
This prepares us for binutils changes.
I have not yet modified the linuxolator elf note handling logic. This would be very useful to do.
Revision
4488 -
Directory Listing
-
[select for diffs]
Modified
Thu Dec 29 02:33:28 2011 UTC
(12 years, 5 months ago)
by
laffer1
Diff to
previous 4386
,
to
selected 5087
Regenerate syscall table.
Add flag MPSAFE to sysctl leaf nodes so they don't require GIANT lock. More work is necesary to make things MPSAFE but this could allow for some serious performance benefits.
move some of the legacy bsdi/4.4bsd lite 2 stuff into kern_xxx.c and port some freebsd 7 centric things over for sbuf.
Revision
4233 -
Directory Listing
-
[select for diffs]
Modified
Tue Oct 18 21:17:06 2011 UTC
(12 years, 8 months ago)
by
laffer1
Diff to
previous 4231
,
to
selected 5087
Add BUS_BIND_INTR() method to the bus interface to bind an IRQ resource to a CPU.
bus_bind_intr is a wrapper routine for drivers to use. It is supported on all MidnightBSD architectures.
Obtained from: FreeBSD 7.1
Revision
4215 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 15 20:18:31 2011 UTC
(12 years, 8 months ago)
by
laffer1
Diff to
previous 4171
,
to
selected 5087
Introduce CPU Affinity in MidnightBSD.
The ULE scheduler is now default on i386 and amd64 architectures.
cpuset(1) allows the user to limit a process to a group of CPU cores to run on using new system calls.
32bit versions of the system calls were also added to support 32bit binaries running on amd64 boxes. libc's
symbol map was modified to include the cpuset* system calls to expose them to userland.
This is based on work by Jeff Roberson from FreeBSD 7.1.
Revision
3623 -
Directory Listing
-
[select for diffs]
Modified
Sat Jan 22 19:55:16 2011 UTC
(13 years, 4 months ago)
by
laffer1
Diff to
previous 3611
,
to
selected 5087
Import it(4) and lm(4) for common Super I/O hardware sensors.
This is based on the 2007 Google Summer of Code project by Constantine A. Murenin and code from OpenBSD.
Revision
3598 -
Directory Listing
-
[select for diffs]
Modified
Tue Jan 4 14:23:53 2011 UTC
(13 years, 5 months ago)
by
laffer1
Diff to
previous 3524
,
to
selected 5087
Opteron rev E family of processor expose a bug where, in very rare
ocassions, memory barriers semantic is not honoured by the hardware
itself. As a result, some random breakage can happen in uninvestigable
ways (for further explanation see at the content of the commit itself).
As long as just a specific familly is bugged of an entire architecture
is broken, a complete fix-up is impratical without harming to some
extents the other correct cases.
Considering that (and considering the frequency of the bug exposure)
just print out a warning message if the affected machine is identified.
Pointed out by: Samy Al Bahra <sbahra at repnop dot org>
Obtained from: FreeBSD (revision 198868)
Revision
3524 -
Directory Listing
-
[select for diffs]
Modified
Mon Sep 27 22:20:09 2010 UTC
(13 years, 8 months ago)
by
laffer1
Diff to
previous 3427
,
to
selected 5087
Conditionally define MAXCPU the same for all kernels regardless of SMP or !SMP.
On i386 and amd64 define MAXCPU to 32 since they exist now. Most kernel structures are resized based on this value.
Revision
3427 -
Directory Listing
-
[select for diffs]
Modified
Sat Jul 3 16:49:32 2010 UTC
(13 years, 11 months ago)
by
laffer1
Diff to
previous 3423
,
to
selected 5087
Refactor the linux_mmap_common function to take individual arguments similar to FreeBSD. This is easier to read and similar to other kernel interfaces. This also makes it easier to fix the mmap offsets greater than 32 bits. We can deal with a 64 bit file offset now. This is based on a patch to FreeBSD by Christian Zander @ NVIDIA
Revision
3423 -
Directory Listing
-
[select for diffs]
Modified
Sat Jun 19 14:56:05 2010 UTC
(14 years ago)
by
laffer1
Diff to
previous 3374
,
to
selected 5087
Do not require pos parameter to be zero in MAP_ANONYMOUS mmap requests
in Linux emulation layer. Linux seems to only require that pos is
page-aligned, but otherwise ignores it. Default FreeBSD mmap parameter
checking is too strict to allow some Linux binaries to run. tsMuxeR is
one example of such a binary.
Obtained from: kan@FreeBSD
Revision
3364 -
Directory Listing
-
[select for diffs]
Modified
Sat Mar 13 19:15:51 2010 UTC
(14 years, 3 months ago)
by
laffer1
Diff to
previous 3324
,
to
selected 5087
Update our cpu types and include a list of vendors of CPUs. This will be used with identcpu and kernel modules later to "detect" cpu vendors to enable/disable features.
Revision
3310 -
Directory Listing
-
[select for diffs]
Modified
Fri Mar 5 04:50:31 2010 UTC
(14 years, 3 months ago)
by
laffer1
Diff to
previous 3309
,
to
selected 5087
If we are unable to obtain a frequency list from either ACPI or the
static tables, then attempt to build a simple list containing just the high
and low frequencies if the hw.est.msr_info tunable is set to 1. By default
this is disabled.
Obtained from FreeBSD
Revision
3307 -
Directory Listing
-
[select for diffs]
Modified
Fri Mar 5 04:36:59 2010 UTC
(14 years, 3 months ago)
by
laffer1
Diff to
previous 3306
,
to
selected 5087
1.13: Use correct bitmask for checking CPU identities.
1.16: Add XXX comment about the table in general.
Increase time we wait for things to settle to 1 millisecond,
10 microseconds is too short.
Revision
3239 -
Directory Listing
-
[select for diffs]
Modified
Sun Jan 10 21:55:09 2010 UTC
(14 years, 5 months ago)
by
laffer1
Diff to
previous 3160
,
to
selected 5087
Enable options P1003_1B_SEMAPHORES # POSIX-style semaphores
This option is required by many modern applications including Firefox 3.5. We also need this to support libdispatch!
Enable on all three architectures.
Revision
2886 -
Directory Listing
-
[select for diffs]
Modified
Sat May 16 18:38:51 2009 UTC
(15 years, 1 month ago)
by
laffer1
Diff to
previous 2576
,
to
selected 5087
add CPUID bits to ident phenom processor
There are several new CPUIDs to recognize AMD Extended Features, ECX 07FFh for Phenom processor.
According to [1], they are:
Bit 0: LAHF/SAHF
Bit 1: CMP
Bit 2: SVM (Secure Virtual Mode)
Bit 3: APIC
Bit 4: MOV CR8
*Bit 5: Advanced Bit Manipulation (LZCNT)
*Bit 6: SSE4A (EXTRQ, INSERTQ, MOVNTSS, MOVNTSD)
*Bit 7: Misalign SSE
Bit 8: 3DNow! (PREFETCH и PREFTECHW)
*Bit 9: OS Visible Workaround
*Bit 10: Instruction Based Sampling
* - missing bits in amd64/identcpu.c
[1]http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116.pdf
Based on patch by pluknet for FreeBSD
Revision
2391 -
Directory Listing
-
[select for diffs]
Modified
Sun Dec 7 03:28:31 2008 UTC
(15 years, 6 months ago)
by
laffer1
Diff to
previous 2384
,
to
selected 5087
Remove 3c501 isa based 3com nic. This is quite old and not entirely in line with the current development. I don't even have a system with an ISA slot to test one in if i had one. Also remove pcf which is replaced with i2c
Revision
1662 -
Directory Listing
-
[select for diffs]
Modified
Wed Jun 25 20:17:31 2008 UTC
(15 years, 11 months ago)
by
laffer1
Diff to
previous 1607
,
to
selected 5087
Add cpufreq(4) and GEOM_LABEL aka GLABEL to GENERIC on i386 and amd64.
cpufreq works with powerd which is already enabled on systems without ACPI support for CPU frequency using several chipsets (intel). This may cause problems for some people which might require an install option for powerd. This needs testing.
glabel allows one to name disks and reference them in dev by that name instead of their normal designation like acd0 or ad0s2d. By adding this to generic, we can easily make a live cd that works on more types of CDROMs. FreeBSD is also moving in this direction for other reasons.
Until the latter can be tested on sparc64, I'll keep it out of generic. We don't support sun style labels right now anyway.
Revision
1606 -
Directory Listing
-
[select for diffs]
Modified
Sat May 17 05:36:05 2008 UTC
(16 years, 1 month ago)
by
laffer1
Diff to
previous 1605
,
to
selected 5087
Syncronize the cpu detection code on i386 and amd64 with FreeBSD 6.2.
Add better SMP detection including multicore cpus. Detect features on newer processors and initialize them properly. Add support for some newer via c7 cpus.
Also make a subtle adjustment to tcp_syncache.c (unrelated)
Revision
1604 -
Directory Listing
-
[select for diffs]
Modified
Sat May 17 04:45:52 2008 UTC
(16 years, 1 month ago)
by
laffer1
Diff to
previous 1575
,
to
selected 5087
$MidnightBSD$
Add some k8 errata hacks to powernow.
smist:
Use bus_dma to get a page in the first 4 GB. Since the physical address
of the magic string is passed in a 32-bit register, we can't use high
memory in the PAE case. This also eliminates a use of vtophys().
Obtained from: FreeBSD.
Revision
881 -
Directory Listing
-
[select for diffs]
Modified
Thu Mar 29 22:44:53 2007 UTC
(17 years, 2 months ago)
by
laffer1
Diff to
previous 797
,
to
selected 5087
Remove WARNS from cpufreq Makefile. kernel source Makefiles should not use WANRS as it conflicts with kernel build options.
Add additional Pentium M cpus.
Revision
534 -
Directory Listing
-
[select for diffs]
Modified
Sun Jan 7 03:50:23 2007 UTC
(17 years, 5 months ago)
by
laffer1
Diff to
previous 323
,
to
selected 5087
Apply some patches from FreeBSD 6.1 Release for cpu detection, ioctl fixes, etc.
Change i386 GENERIC kernel to include VESA and raster support so that end users can easily switch to 800x600 and other video modes in the console. While the kernel size is larger, it makes more sense on a desktop.
Revision
298 -
Directory Listing
-
[select for diffs]
Modified
Sat Oct 28 04:16:57 2006 UTC
(17 years, 7 months ago)
by
laffer1
Diff to
previous 297
,
to
selected 5087
Don't set CR0_NE and CR0_MP in npx_probe() as they are already set earlier in cpu_setregs().
If we know this CPU has a FPU via cpuid, just assume INT16 and make the dmesg quiet. This is true for all Pentium class processors and even some 486DX systems.
Revision
46 -
Directory Listing
-
[select for diffs]
Modified
Fri Aug 4 17:10:41 2006 UTC
(17 years, 10 months ago)
by
laffer1
Diff to
previous 17
,
to
selected 5087
FreeBSD-SA6:13 and 14 were patched. The nis software and amd athlon fpu handling fixed. Changes to echo and pfctl are needed to fix compile bugs with changes related to cvs tags and macros.
Revision
3 -
Directory Listing
-
[select for diffs]
Added
Sat Feb 25 02:29:52 2006 UTC
(18 years, 3 months ago)
by
laffer1
Diff
to
selected 5087
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches.