#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
263817 |
|
27-Mar-2014 |
ray |
MFC 219886, 226100, 226111, 226341, 242529, 259015, 259016, 259019, 259049, 259071, 259102, 259110, 259129, 259130, 259178, 259179, 259203, 259221, 259261, 259532, 259615, 259650, 259651, 259667, 259680, 259727, 259761, 259772, 259776, 259777, 259830, 259882, 259915, 260160, 260449, 260450, 260688, 260888, 260953, 261269, 261547, 261551, 261552, 261553, 261585 o Merge vt(4) virtual terminal (a.k.a. newcons) to stable/9. o Merge teken updates. o Add few more tty methods required by vt(4). o Update syscons(4) to work with fresh teken.
Sponsored by: The FreeBSD Foundation
|
#
260252 |
|
04-Jan-2014 |
edavis |
MFC Broadcom 10Gb bxe driver Merged r255736, r255861, r256299, r256341, r258187, r259928, r260113
Approved by: davidch (mentor)
|
#
258936 |
|
04-Dec-2013 |
davidcs |
MFC: 252206,258156 port dev/qlxge from head
|
#
258898 |
|
03-Dec-2013 |
davidcs |
MFC 250661,251076,251605,252580,254976,255003,258155 port dev/qlxgbe from HEAD
|
#
253631 |
|
24-Jul-2013 |
jimharris |
MFC r253476:
Add message when nvd disks are attached and detached.
As part of this commit, add an nvme_strvis() function which borrows heavily from cam_strvis(). This will allow stripping of leading/trailing whitespace and also handle unprintable characters in model/serial numbers. This function goes into a new nvme_util.c file which is used by both the driver and nvmecontrol.
Approved by: re (kib) Sponsored by: Intel
|
#
252903 |
|
06-Jul-2013 |
delphij |
MFC r252867:
Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. This driver works for FreeBSD/i386 and FreeBSD/amd64 platforms.
Many thanks to HighPoint for providing this driver.
(This changeset have not included changes found in 249468 and 246713)
|
#
252222 |
|
25-Jun-2013 |
jimharris |
240618, 240621, 240633, 240671, 240672, 240697, 240700, 241433, 241434, 241657, 241658, 241659, 241660, 241661, 241662, 241663, 241664, 241665, 241689, 242420, 243951, 244410, 244411, 244413, 244549, 245136, 247963, 248729, 248730, 248731, 248732, 248733, 248734, 248735, 248736, 248737, 248738, 248739, 248740, 248741, 248746, 248747, 248748, 248749, 248754, 248755, 248756, 248757, 248758, 248759, 248760, 248761, 248762, 248763, 248764, 248765, 248766, 248767, 248768, 248769, 248770, 248771, 248772, 248773, 248780, 248834, 248835, 248913, 248977, 249067, 249416, 249417, 249418, 249419, 249420, 249421, 249422, 249432
|
#
248544 |
|
20-Mar-2013 |
bryanv |
MFC 247870:
Remove the virtio dependency entry for the VirtIO device drivers. This will prevent the kernel from linking if the device driver are included without the virtio module. Remove pci and scbus for the same reason.
Also explain the relationship and necessity of the virtio and virtio_pci modules. Currently in FreeBSD, we only support VirtIO PCI, but it could be replaced with a different interface (like MMIO) and the device (network, block, etc) will still function.
Approved by: grehan (mentor)
|
#
246885 |
|
16-Feb-2013 |
luigi |
partial MFC of rev=245362: enable building virtio devices into static kernels.
I think the 'files.*' entries should be improved (also in HEAD) because bringing up a vtnet device now requires 3 entries in your kernel config: "device virtio, device virtio_pci, device vtnet"
but i'll leave the fix to a future commit.
This is also the reason not to enable the device in GENERIC kernels now.
|
#
245938 |
|
26-Jan-2013 |
delphij |
MFC r245768:
- Don't include date and time the driver is built, this is useful for generating binary diffs. - Constify a few strings used in the driver. - Style changes to make the driver compile with default clang settings.
Approved by: HighPoint Technologies
|
#
240950 |
|
26-Sep-2012 |
kib |
MFC r240135: Add support for new Intel on-CPU Bull Mountain random number generator.
MFC r240455: Rename the IVY_RNG option to RDRAND_RNG.
|
#
240896 |
|
24-Sep-2012 |
dim |
MFC r240144:
After r240104, make sure the hpt27xx driver also compiles with clang, when it is statically linked into the kernel.
|
#
235926 |
|
24-May-2012 |
bz |
MFC r232614:
Provide wbwd(4), a driver for the watchdog timer found on various Winbond Super I/O chips.
|
#
234144 |
|
11-Apr-2012 |
jhb |
MFC 232744,232747,233031: - Allow a native i386 kernel to be built with 'nodevice atpic'. Just as on amd64, if 'device isa' is present quiesce the 8259A's during boot and resume from suspend. - Move i386's intr_machdep.c to the x86 tree and share it with amd64. - Merge r232744 changes to pc98. (Allow a kernel to be built with 'nodevice atpic'.) - Move ICU related defines from x86/isa/atpic.c to x86/isa/icu.h and use them in x86/x86/intr_machdep.c.
Note, I normally would have merged 232747 separately, but 233031 assumed 232747 was already merged and 232744 needs to be merged with 233031.
|
#
232013 |
|
22-Feb-2012 |
jkim |
MFC: r229887
Enable hardware RNG for VIA Nano processors.
|
#
231979 |
|
21-Feb-2012 |
kib |
MFC r230426: Add support for the extended FPU states on amd64, both for native 64bit and 32bit ABIs. As a side-effect, it enables AVX on capable CPUs.
MFC r230765: Synchronize the struct sigcontext definitions on x86 with mcontext_t.
|
#
231689 |
|
14-Feb-2012 |
jimharris |
MFC r230843, r231134, r231136, r231137, r231296
Add isci(4) driver for amd64 and i386 targets.
The isci driver is for the integrated SAS controller in the Intel C600 (Patsburg) chipset. Source files in sys/dev/isci directory are FreeBSD-specific, and sys/dev/isci/scil subdirectory contains an OS-agnostic library (SCIL) published by Intel to control the SAS controller. This library is used primarily as-is in this driver, with some post-processing to better integrate into the kernel build environment.
isci.4 and a README in the sys/dev/isci directory contain a few additional details.
This driver is only built for amd64 and i386 targets.
Sponsored by: Intel Reviewed by: scottl Approved by: scottl
|
#
229975 |
|
11-Jan-2012 |
delphij |
MFC r228940:
Import the first release of HighPoint RocketRAID 27xx SAS 6Gb/s HBA card driver. This driver works for FreeBSD/i386 and FreeBSD/amd64 platforms.
Many thanks to HighPoint for providing this driver.
|
#
229927 |
|
10-Jan-2012 |
fabient |
MFC r228431, r228502, r228802: Add watchdog support for VIA south bridge chipset. Tested on VT8251, VX900 but CX700, VX800, VX855 should works.
|
#
228100 |
|
28-Nov-2011 |
philip |
MFC r227569,227633,227640-227641,227662,227699-227700,228077-228078,228085
Add the sfxge(4) driver providing support for 10Gb Ethernet adapters based on Solarflare SFC9000 family controllers. The driver supports jumbo frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side Scaling (RSS) using MSI-X interrupts.
This work was sponsored by Solarflare Communications, Inc.
My sincere thanks to Ben Hutchings for doing a lot of the hard work!
Sponsored by: Solarflare Communications, Inc. Approved by: re (bz)
|
#
227268 |
|
06-Nov-2011 |
bz |
MFC r227064:
Add QLogic 10 Gigabit Ethernet & CNA Adapter Driver version 1.30 for 3200 and 8200 series cards.
Submitted by: David C Somayajulu (david.somayajulu@qlogic.com), Qlogic Corporation
Approved by: re (kib)
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
223440 |
|
22-Jun-2011 |
jhb |
Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to the x86 tree. The $PIR code is still only enabled on i386 and not amd64. While here, make the qpi(4) driver on conditional on 'device pci'.
|
#
220885 |
|
20-Apr-2011 |
bz |
Compile in in_cksum* implementations for both IPv6 and IPv6. While in_pseudo() etc. is often used in offloading feature support, in_cksum() is mostly used to fix some broken hardware.
Keeping both around for the moment allows us to compile NIC drivers even in an IPv6 only environment without the need to mangle them with #ifdef INETs in a way they are not prepared for. This will leave some dead code paths that will not be exercised for IPv6.
Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 3 days
|
#
218616 |
|
12-Feb-2011 |
dchagin |
Move linux_clone(), linux_fork(), linux_vfork() to a MI path.
|
#
217515 |
|
17-Jan-2011 |
jkim |
Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits.
MFC after: 1 month
|
#
216316 |
|
09-Dec-2010 |
cperciva |
Replace i386/i386/busdma_machdep.c and amd64/amd64/busdma_machdep.c (which are identical) with a single x86/x86/busdma_machdep.c.
|
#
216283 |
|
07-Dec-2010 |
jkim |
Merge sys/amd64/amd64/tsc.c and sys/i386/i386/tsc.c and move to sys/x86/x86.
Discussed with: avg
|
#
215072 |
|
09-Nov-2010 |
jkim |
Refactor acpi_machdep.c for amd64 and i386, move APM emulation into a new file acpi_apm.c, and place it on sys/x86/acpica.
|
#
215024 |
|
08-Nov-2010 |
jkim |
Now OsdEnvironment.c is identical on amd64 and i386. Move it to a new home.
|
#
215012 |
|
08-Nov-2010 |
jhb |
Move the MADT parser for amd64 and i386 to sys/x86/acpica now that it is identical on both platforms.
|
#
214457 |
|
28-Oct-2010 |
attilio |
Merge nexus.c from amd64 and i386 to x86 subtree.
Sponsored by: Sandvine Incorporated Tested by: gianni
|
#
214446 |
|
28-Oct-2010 |
attilio |
Merge the mptable support from MD bits to x86 subtree.
Sponsored by: Sandvine Incorporated Discussed with: jhb
|
#
214373 |
|
26-Oct-2010 |
attilio |
Merge dump_machdep.c i386/amd64 under the x86 subtree.
Sponsored by: Sandvine Incorporated Tested by: gianni
|
#
213884 |
|
14-Oct-2010 |
jkim |
Stop hard coding nm(1) and make it overridable.
|
#
212861 |
|
19-Sep-2010 |
nork |
Add support 'device tpm' for amd64. Add tpm(4)'s default setting to /boot/defaults/loader.conf. Add 'device tpm' to NOTES for amd64 and i386.
Discussed with: takawata Approved by: imp (mentor)
|
#
211820 |
|
25-Aug-2010 |
jhb |
Intel QPI chipsets actually provide two extra "non-core" PCI buses that provide PCI devices for various hardware such as memory controllers, etc. These PCI buses are not enumerated via ACPI however. Add qpi(4) psuedo bus and Host-PCI bridge drivers to enumerate these buses. Currently the driver uses the CPU ID to determine the bridges' presence.
In collaboration with: Joseph Golio @ Isilon Systems MFC after: 2 weeks
|
#
210552 |
|
27-Jul-2010 |
jhb |
Add a parser for the ACPI SRAT table for amd64 and i386. It sets PCPU(domain) for each CPU and populates a mem_affinity array suitable for the NUMA support in the physical memory allocator.
Reviewed by: alc
|
#
210409 |
|
23-Jul-2010 |
kib |
Crypto(4) driver for AESNI.
The aeskeys_{amd64,i386}.S content was mostly obtained from OpenBSD, no objections to the license from core.
Hardware provided by: Sentex Communications Tested by: fabient, pho (previous versions) MFC after: 1 month
|
#
210069 |
|
14-Jul-2010 |
mav |
Rename timeevents.c to kern_clocksource.c.
Suggested by: jhb@
|
#
210054 |
|
14-Jul-2010 |
mav |
Move timeevents.c to MI code, as it is not x86-specific. I already have it working on Marvell ARM SoCs, and it would be nice to unify timer code between more platforms.
|
#
209957 |
|
12-Jul-2010 |
jkim |
Move i386-inherited logic of building ACPI headers for acpi_wakeup.c into better places and remove intermediate makefile and shell scripts. This makes parallel kernel build little bit safer for amd64.
|
#
209432 |
|
22-Jun-2010 |
mav |
Some style fixes for r209371.
Submitted by: jhb@
|
#
209371 |
|
20-Jun-2010 |
mav |
Implement new event timers infrastructure. It provides unified APIs for writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware.
Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project.
For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected.
This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2.
Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup.
|
#
208922 |
|
08-Jun-2010 |
jhb |
Move the MD support for PCI message signalled interrupts to the x86 tree as it is identical for i386 and amd64.
|
#
208921 |
|
08-Jun-2010 |
jhb |
Move the machine check support code to the x86 tree since it is identical on i386 and amd64.
Requested by: alc
|
#
208919 |
|
08-Jun-2010 |
jhb |
Move the I/O APIC code to the x86 tree since it is identical on i386 and amd64.
|
#
208452 |
|
23-May-2010 |
mav |
Unify local_apic.c for x86 archs,
|
#
206089 |
|
02-Apr-2010 |
fabient |
- Support for uncore counting events: one fixed PMC with the uncore domain clock, 8 programmable PMC. - Westmere based CPU (Xeon 5600, Corei7 980X) support. - New man pages with events list for core and uncore. - Updated Corei7 events with Intel 253669-033US December 2009 doc. There is some removed events in the documentation, they have been kept in the code but documented in the man page as obsolete. - Offcore response events can be setup with rsp token.
Sponsored by: NETASQ
|
#
205014 |
|
11-Mar-2010 |
nwhitehorn |
Provide groundwork for 32-bit binary compatibility on non-x86 platforms, for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32 option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts of the kernel and enhances the freebsd32 compatibility code to support big-endian platforms.
Reviewed by: kib, jhb
|
#
204313 |
|
25-Feb-2010 |
attilio |
Fix a mis-change about the compiling of atrtc.c.
Sponsored by: Sandvine Incorporated Reported by: Giovanni Trematerra <giovannit dot trematerra at gmail dot com> MFC: 3 weeks X-MFC: r204309
|
#
204309 |
|
25-Feb-2010 |
attilio |
Introduce the new kernel sub-tree x86 which should contain all the code shared and generalized between our current amd64, i386 and pc98.
This is just an initial step that should lead to a more complete effort. For the moment, a very simple porting of cpufreq modules, BIOS calls and the whole MD specific ISA bus part is added to the sub-tree but ideally a lot of code might be added and more shared support should grow.
Sponsored by: Sandvine Incorporated Reviewed by: emaste, kib, jhb, imp Discussed on: arch MFC: 3 weeks
|
#
203679 |
|
08-Feb-2010 |
brucec |
Remove the usb2_input_kbd directive that was missed during the renaming of the drivers in the usb2 stack.
Approved by: rrs (mentor)
|
#
199969 |
|
30-Nov-2009 |
avg |
amdsbwd: new driver for AMD SB600/SB7xx watchdog timer
The hardware is compliant with WDRT specification, so I originally considered including generic WDRT watchdog support, but decided against it, because I couldn't find anyone to the code for me. WDRT seems to be not very popular. Besides, generic WDRT porbably requires a slightly different driver approach.
Reviewed by: des, gavin, rpaulo MFC after: 3 weeks
|
#
198251 |
|
19-Oct-2009 |
jkim |
Rewrite x86bios and update its dependent drivers.
- Do not map entire real mode memory (1MB). Instead, we map IVT/BDA and ROM area separately. Most notably, ROM area is mapped as device memory (uncacheable) as it should be. User memory is dynamically allocated and free'ed with contigmalloc(9) and contigfree(9). Remove now redundant and potentially dangerous x86bios_alloc.c. If this emulator ever grows to support non-PC hardware, we may implement it with rman(9) later. - Move all host-specific initializations from x86emu_util.c to x86bios.c and remove now unnecessary x86emu_util.c. Currently, non-PC hardware is not supported. We may use bus_space(9) later when the KPI is fixed. - Replace all bzero() calls for emulated registers with more obviously named x86bios_init_regs(). This function also initializes DS and SS properly. - Add x86bios_get_intr(). This function checks if the interrupt vector is available for the platform. It is not necessary for PC-compatible hardware but it may be needed later. ;-) - Do not try turning off monitor if DPMS does not support the state. - Allocate stable memory for VESA OEM strings instead of just holding pointers to them. They may or may not be accessible always. Fix a memory leak of video mode table while I am here. - Add (experimental) BIOS POST call for vesa(4). This function calls VGA BIOS POST code from the current VGA option ROM. Some video controllers cannot save and restore the state properly even if it is claimed to be supported. Usually the symptom is blank display after resuming from suspend state. If the video mode does not match the previous mode after restoring, we try BIOS POST and force the known good initial state. Some magic was taken from NetBSD (and it was taken from vbetool, I believe.) - Add a loader tunable for vgapci(4) to give a hint to dpms(4) and vesa(4) to identify who owns the VESA BIOS. This is very useful for multi-display adapter setup. By default, the POST video controller is automatically probed and the tunable "hw.pci.default_vgapci_unit" is set to corresponding vgapci unit number. You may override it from loader but it is very unlikely to be necessary. Unfortunately only AGP/PCI/PCI-E controllers can be matched because ISA controller does not have necessary device IDs. - Fix a long standing bug in state save/restore function. The state buffer pointer should be ES:BX, not ES:DI according to VBE 3.0. If it ever worked, that's because BX was always zero. :-) - Clean up register initializations more clearer per VBE 3.0. - Fix a lot of style issues with vesa(4).
|
#
197969 |
|
11-Oct-2009 |
marcel |
Scan for option ROMs on i386 and amd64 only.
|
#
197518 |
|
26-Sep-2009 |
bz |
lindev(4) [1] is supposed to be a collection of linux-specific pseudo devices that we also support, just not by default (thus only LINT or module builds by default).
While currently there is only "/dev/full" [2], we are planning to see more in the future. We may decide to change the module/dependency logic in the future should the list grow too long.
This is not part of linux.ko as also non-linux binaries like kFreeBSD userland or ports can make use of this as well.
Suggested by: rwatson [1] (name) Submitted by: ed [2] Discussed with: markm, ed, rwatson, kib (weeks ago) Reviewed by: rwatson, brueffer (prev. version) PR: kern/68961 MFC after: 6 weeks
|
#
197467 |
|
24-Sep-2009 |
jkim |
r197444 unnecessarily changed positions of these files. Re-sort.
|
#
197444 |
|
23-Sep-2009 |
jkim |
Move sys/dev/x86bios to sys/compat/x86bios.
It may not be optimal but it is clearly better than the old place.
OK'ed by: delphij, paradox (ddkprog yahoo com)
|
#
197399 |
|
22-Sep-2009 |
delphij |
Hide x86bios stuff in i386/amd64 specific files as atkbdc would get these stuff into build.
|
#
197380 |
|
21-Sep-2009 |
delphij |
Automatically depend on x86emu when vesa or dpms is being built into kernel. With this change the user no longer need to remember building this option.
Submitted by: swell.k at gmail.com
|
#
197379 |
|
21-Sep-2009 |
delphij |
Enable s3pci on amd64 which works on top of VESA, and allow static building it into kernel on i386 and amd64.
Submitted by: swell.k at gmail.com
|
#
197025 |
|
09-Sep-2009 |
delphij |
- Teach vesa(4) and dpms(4) about x86emu. [1] - Add vesa kernel options for amd64. - Connect libvgl library and splash kernel modules to amd64 build. - Connect manual page dpms(4) to amd64 build. - Remove old vesa/dpms files.
Submitted by: paradox <ddkprog yahoo com> [1], swell k at gmail.com (with some minor tweaks)
|
#
196775 |
|
03-Sep-2009 |
ed |
Move libteken out of the syscons directory.
I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator.
Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately.
|
#
194701 |
|
23-Jun-2009 |
rpaulo |
* Driver for ACPI WMI (Windows Management Instrumentation) * Driver for ACPI HP extra functionations, which required ACPI WMI driver.
Submitted by: Michael <freebsdusb at bindone.de> Approved by: re MFC after: 2 weeks
|
#
192050 |
|
13-May-2009 |
jhb |
Implement simple machine check support for amd64 and i386. - For CPUs that only support MCE (the machine check exception) but not MCA (i.e. Pentium), all this does is print out the value of the machine check registers and then panic when a machine check exception occurs. - For CPUs that support MCA (the machine check architecture), the support is a bit more involved. - First, there is limited support for decoding the CPU-independent MCA error codes in the kernel, and the kernel uses this to output a short description of any machine check events that occur. - When a machine check exception occurs, all of the MCx banks on the current CPU are scanned and any events are reported to the console before panic'ing. - To catch events for correctable errors, a periodic timer kicks off a task which scans the MCx banks on all CPUs. The frequency of these checks is controlled via the "hw.mca.interval" sysctl. - Userland can request an immediate scan of the MCx banks by writing a non-zero value to "hw.mca.force_scan". - If any correctable events are encountered, the appropriate details are stored in a 'struct mca_record' (defined in <machine/mca.h>). The "hw.mca.count" is a count of such records and each record may be queried via the "hw.mca.records" tree by specifying the record index (0 .. count - 1) as the next name in the MIB similar to using PIDs with the kern.proc.* sysctls. The idea is to export machine check events to userland for more detailed processing. - The periodic timer and hw.mca sysctls are only present if the CPU supports MCA.
Discussed with: emaste (briefly) MFC after: 1 month
|
#
190620 |
|
01-Apr-2009 |
kib |
Save and restore segment registers on amd64 when entering and leaving the kernel on amd64. Fill and read segment registers for mcontext and signals. Handle traps caused by restoration of the invalidated selectors.
Implement user-mode creation and manipulation of the process-specific LDT descriptors for amd64, see sysarch(2).
Implement support for TSS i/o port access permission bitmap for amd64.
Context-switch LDT and TSS. Do not save and restore segment registers on the context switch, that is handled by kernel enter/leave trampolines now. Remove segment restore code from the signal trampolines for freebsd/amd64, freebsd/ia32 and linux/i386 for the same reason.
Implement amd64-specific compat shims for sysarch.
Linuxolator (temporary ?) switched to use gsbase for thread_area pointer.
TODO: Currently, gdb is not adapted to show segment registers from struct reg. Also, no machine-depended ptrace command is added to set segment registers for debugged process.
In collaboration with: pho Discussed with: peter Reviewed by: jhb Linuxolator tested by: dchagin
|
#
190501 |
|
28-Mar-2009 |
mr |
Add support for Phenom (Family 10h) to cpufreq. Its a newer version provided by the author than in the PR.
PR: kern/128575 Submitted by: Gen Otsuji annona2 [at] gmail.com
|
#
190453 |
|
26-Mar-2009 |
ambrisko |
Sigh, not my day. Check-in the update version that didn't have the linux_compat mistakes.
|
#
190445 |
|
26-Mar-2009 |
ambrisko |
Add stuff to support upcoming BMC/IPMI flashing of newer Dell machine via the Linux tool. - Add Linux shim to ipmi(4) - Create a partitions file to linprocfs to make Linux fdisk see disks. This file is dynamic so we can see disks come and go. - Convert msdosfs to vfat in mtab since Linux uses that for msdosfs. - In the Linux mount path convert vfat passed in to msdosfs so Linux mount works on FreeBSD. Note that tasting works so that if da0 is a msdos file system /compat/linux/bin/mount /dev/da0 /mnt works. - fix a 64it bug for l_off_t. Grabing sh, mount, fdisk, df from Linux, creating a symlink of mtab to /compat/linux/etc/mtab and then some careful unpacking of the Linux bmc update tool and hacking makes it work on newer Dell boxes. Note, probably if you can't figure out how to do this, then you probably shouldn't be doing it :-)
|
#
189903 |
|
16-Mar-2009 |
jkim |
Initial suspend/resume support for amd64.
This code is heavily inspired by Takanori Watanabe's experimental SMP patch for i386 and large portion was shamelessly cut and pasted from Peter Wemm's AP boot code.
|
#
189768 |
|
13-Mar-2009 |
rpaulo |
Rename the k8temp driver to amdtemp.
MFC after: 2 weeks
|
#
189170 |
|
28-Feb-2009 |
ed |
Add memmove() to the kernel, making the kernel compile with Clang.
When copying big structures, LLVM generates calls to memmove(), because it may not be able to figure out whether structures overlap. This caused linker errors to occur. memmove() is now implemented using bcopy(). Ideally it would be the other way around, but that can be solved in the future. On ARM we don't do add anything, because it already has memmove().
Discussed on: arch@ Reviewed by: rdivacky
|
#
188654 |
|
15-Feb-2009 |
thompsa |
Pull in kbd.c with usb2_input_kbd, just like ukbd.
|
#
187633 |
|
23-Jan-2009 |
jkim |
- Add few VIA bridges to agp_via.c and connect it to amd64 build as they support Intel Core/Core 2 and VIA Nano processors. - Align "optional agp" in conf/files.* for consistency while I am here.
|
#
187112 |
|
12-Jan-2009 |
jkim |
Connect padlock(4) to amd64 build for VIA Nano processors.
|
#
186681 |
|
01-Jan-2009 |
ed |
Replace syscons terminal renderer by a new renderer that uses libteken.
Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm.
A lot of random notes, which could be of interest to users/developers:
- Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features:
- Keypad application mode (DECKPAM) - Character sets (SCS)
- libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code:
- teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues.
- teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input.
- libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments.
- I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8?
- I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion.
- To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'.
- Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them.
Discussed on: current@, hackers@ Discussed with: philip (at 25C3)
|
#
185522 |
|
01-Dec-2008 |
sam |
Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying
device ath_hal
gives you the same chip support that the binary hal did but you must also include
options AH_SUPPORT_AR5416
to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information.
|
#
185363 |
|
27-Nov-2008 |
jkoshy |
- Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and model 0x1C (Atom).
In these CPUs, the actual numbers, kinds and widths of PMCs present need to queried at run time. Support for specific "architectural" events also needs to be queried at run time.
Model 0xE CPUs support programmable PMCs, subsequent CPUs additionally support "fixed-function" counters.
- Use event names that are close to vendor documentation, taking in account that: - events with identical semantics on two or more CPUs in this family can have differing names in vendor documentation, - identical vendor event names may map to differing events across CPUs, - each type of CPU supports a different subset of measurable events.
Fixed-function and programmable counters both use the same vendor names for events. The use of a class name prefix ("iaf-" or "iap-" respectively) permits these to be distinguished.
- In libpmc, refactor pmc_name_of_event() into a public interface and an internal helper function, for use by log handling code.
- Minor code tweaks: staticize a global, freshen a few comments.
Tested by: gnn
|
#
184802 |
|
09-Nov-2008 |
jkoshy |
- Separate PMC class dependent code from other kinds of machine dependencies. A 'struct pmc_classdep' structure describes operations on PMCs; 'struct pmc_mdep' contains one or more 'struct pmc_classdep' structures depending on the CPU in question.
Inside PMC class dependent code, row indices are relative to the PMCs supported by the PMC class; MI code in "hwpmc_mod.c" translates global row indices before invoking class dependent operations.
- Augment the OP_GETCPUINFO request with the number of PMCs present in a PMC class.
- Move code common to Intel CPUs to file "hwpmc_intel.c".
- Move TSC handling to file "hwpmc_tsc.c".
|
#
183270 |
|
22-Sep-2008 |
obrien |
Add freebsd32 compat shims for ioctl(2) MDIOCATTACH, MDIOCDETACH, MDIOCQUERY, and MDIOCLIST requests.
|
#
181430 |
|
08-Aug-2008 |
stas |
- Add cpuctl(4) pseudo-device driver to provide access to some low-level features of CPUs like reading/writing machine-specific registers, retrieving cpuid data, and updating microcode. - Add cpucontrol(8) utility, that provides userland access to the features of cpuctl(4). - Add subsequent manpages.
The cpuctl(4) device operates as follows. The pseudo-device node cpuctlX is created for each cpu present in the systems. The pseudo-device minor number corresponds to the cpu number in the system. The cpuctl(4) pseudo- device allows a number of ioctl to be preformed, namely RDMSR/WRMSR/CPUID and UPDATE. The first pair alows the caller to read/write machine-specific registers from the correspondent CPU. cpuid data could be retrieved using the CPUID call, and microcode updates are applied via UPDATE.
The permissions are inforced based on the pseudo-device file permissions. RDMSR/CPUID will be allowed when the caller has read access to the device node, while WRMSR/UPDATE will be granted only when the node is opened for writing. There're also a number of priv(9) checks.
The cpucontrol(8) utility is intened to provide userland access to the cpuctl(4) device features. The utility also allows one to apply cpu microcode updates.
Currently only Intel and AMD cpus are supported and were tested.
Approved by: kib Reviewed by: rpaulo, cokane, Peter Jeremy MFC after: 1 month
|
#
178372 |
|
21-Apr-2008 |
phk |
Make genclock standard on all platforms.
Thanks to: grehan & marcel for platform support on ia64 and ppc.
|
#
178193 |
|
14-Apr-2008 |
phk |
Convert amd64 and i386 to share the atrtc device driver.
|
#
178153 |
|
12-Apr-2008 |
rpaulo |
Connect k8temp(4) to the build.
|
#
175915 |
|
03-Feb-2008 |
scottl |
Remove the rr232x driver. It has been superceded by the hptrr driver.
|
#
174604 |
|
14-Dec-2007 |
scottl |
Add the 'hptrr' driver for supporting the following Highpoint RocketRAID cards:
o RocketRAID 172x series o RocketRAID 174x series o RocketRAID 2210 o RocketRAID 222x series o RocketRAID 2240 o RocketRAID 230x series o RocketRAID 231x series o RocketRAID 232x series o RocketRAID 2340 o RocketRAID 2522
Many thanks to Highpoint for their continued support of FreeBSD.
Submitted by: Highpoint
|
#
174496 |
|
09-Dec-2007 |
alc |
Eliminate compilation warnings due to the use of non-static inlines through the introduction and use of the __gnu89_inline attribute.
Submitted by: bde (i386) MFC after: 3 days
|
#
174195 |
|
02-Dec-2007 |
rwatson |
Break out stack(9) from ddb(4):
- Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9).
Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce.
Update stack(9) man page.
Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)
|
#
173573 |
|
12-Nov-2007 |
jhb |
Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version was bumped to 800004 to note the change though userland apps should not be affected since they use <sys/agpio.h> rather than the headers in sys/dev/agp.
Discussed with: anholt Repocopy by: simon
|
#
173491 |
|
08-Nov-2007 |
benjsc |
Link wpi(4) into the build.
This includes: o mtree (for legal/intel_wpi) o manpage for i386/amd64 archs o module for i386/amd64 archs o NOTES for i386/amd64 archs
Approved by: mlaier (comentor)
|
#
173427 |
|
07-Nov-2007 |
rpaulo |
Connect asmc to the build infrastructure.
Approved by: njl (mentor) Reviewed by: njl (mentor)
|
#
172998 |
|
26-Oct-2007 |
peter |
Split /dev/nvram driver out of isa/clock.c for i386 and amd64. I have not refactored it to be a generic device. Instead of being part of the standard kernel, there is now a 'nvram' device for i386/amd64. It is in DEFAULTS like io and mem, and can be turned off with 'nodevice nvram'. This matches the previous behavior when it was first committed.
|
#
172967 |
|
25-Oct-2007 |
obrien |
Align.
|
#
172674 |
|
15-Oct-2007 |
netchild |
Backout sensors framework.
Requested by: phk Discussed on: cvs-all
|
#
172632 |
|
14-Oct-2007 |
netchild |
Import it(4) and lm(4), supporting most popular Super I/O Hardware Monitors.
Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts)
|
#
171854 |
|
15-Aug-2007 |
des |
Add a driver for the on-die digital thermal sensor found on Intel Core and newer CPUs (including Core 2 and Core / Core 2 based Xeons). The driver attaches to each cpu device and creates a sysctl node in that device's sysctl context (dev.cpu.N.temperature). When invoked, the handler binds to the appropriate CPU to ensure a correct reading.
Submitted by: Rui Paulo <rpaulo@fnop.net> Sponsored by: Google Summer of Code 2007 Tested by: des, marcus, Constantine A. Murenin, Ian FREISLICH Approved by: re (kensmith) MFC after: 3 weeks
|
#
171231 |
|
05-Jul-2007 |
peter |
Temporarily turn nowerror on for i386 and amd64 pmap.c. I'd like to study exactly what effect the options cause to the code with gcc these days.
Approved by: re (rwatson)
|
#
171167 |
|
03-Jul-2007 |
gnn |
Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC.
Approved by: re Sponsored by: Secure Computing
|
#
170520 |
|
10-Jun-2007 |
marcel |
Use default options for default partitioning schemes, rather than making the relevant files standard. This avoids duplication and makes it easier to override/disable unwanted schemes. Since ARM doesn't have a DEFAULTS configuration file, leave the source files for the BSD and MBR partitioning schemes in files.arm for now.
|
#
169903 |
|
23-May-2007 |
kib |
Fix the dependency for the linux_support.s, explicitely add linux_assym.h.
Reported by: rwatson In collaboration with: rdivacky Sponsored by: Google SoC 2007
|
#
169895 |
|
23-May-2007 |
kib |
Move futex support code from <arch>/support.s into linux compat directory. Implement all futex atomic operations in assembler to not depend on the fuword() that does not allow to distinguish between -1 and failure return. Correctly return 0 from atomic operations on success.
In collaboration with: rdivacky Tested by: Scot Hetzel <swhetzel gmail com>, Milos Vyletel <mvyletel mzm cz> Sponsored by: Google SoC 2007
|
#
168414 |
|
06-Apr-2007 |
kan |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far.
|
#
165319 |
|
18-Dec-2006 |
mjacob |
opt_ah.h ends up copied into a kernelcompile directory in some aches as a read-only file. In a number of cases this has led to compiles failing- usually due to some strange NFS drift which thinks that the opt_ah.h in the compile directory is out of date wrt the source it is copied from. When the copy is executed again, it fails because the target is read-only. Oops. Modify the compile hooks avoid this.
Discussed with a while back with: Sam Leffler
|
#
164265 |
|
13-Nov-2006 |
jhb |
MD support for PCI Message Signalled Interrupts on amd64 and i386: - Add a new apic_alloc_vectors() method to the local APIC support code to allocate N contiguous IDT vectors (aligned on a M >= N boundary). This function is used to allocate IDT vectors for a group of MSI messages. - Add MSI and MSI-X PICs. The PIC code here provides methods to manage edge-triggered MSI messages as x86 interrupt sources. In addition to the PIC methods, msi.c also includes methods to allocate and release MSI and MSI-X messages. For x86, we allow for up to 128 different MSI IRQs starting at IRQ 256 (IRQs 0-15 are reserved for ISA IRQs, 16-254 for APIC PCI IRQs, and IRQ 255 is reserved). - Add pcib_(alloc|release)_msi[x]() methods to the MD x86 PCI bridge drivers to bubble the request up to the nexus driver. - Add pcib_(alloc|release)_msi[x]() methods to the x86 nexus drivers that ask the MSI PIC code to allocate resources and IDT vectors.
MFC after: 2 months
|
#
163760 |
|
29-Oct-2006 |
netchild |
Backout the linux aio stuff. Several problems where identified and the dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is.
All this will be done in P4.
Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree.
Requested by: rwatson Discussed with: rwatson
|
#
163630 |
|
23-Oct-2006 |
ru |
Move "device splash" back to MI NOTES and "files", it's MI.
|
#
163629 |
|
23-Oct-2006 |
ru |
Move MI parts of syscons into MI "files".
|
#
163379 |
|
15-Oct-2006 |
netchild |
MFP4 (with some minor changes):
Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS.
From the submitter: ---snip--- DESIGN NOTES:
1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue.
When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code.
2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2).
3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID.
To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads:
Ben will hate me for this
REFERENCE:
1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c)
2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2))
3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt
4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls.
5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip---
Submitted by: Li, Xiao <intron@intron.ac>
|
#
162562 |
|
22-Sep-2006 |
jhb |
Update the ipmi(4) driver: - Split out the communication protocols into their own files and use a couple of function pointers in the softc that the commuication protocols setup in their own attach routine. - Add support for the SSIF interface (talking to IPMI over SMBus). - Add an ACPI attachment. - Add a PCI attachment that attaches to devices with the IPMI interface subclass. - Split the ISA attachment out into its own file: ipmi_isa.c. - Change the code to probe the SMBIOS table for an IPMI entry to just use pmap_mapbios() to map the table in rather than trying to setup a fake resource on an isa device and then activating the resource to map in the table. - Make bus attachments leaner by adding attach functions for each communication interface (ipmi_kcs_attach(), ipmi_smic_attach(), etc.) that setup per-interface data. - Formalize the model used by the driver to handle requests by adding an explicit struct ipmi_request object that holds the state of a given request and reply for the entire lifetime of the request. By bundling the request into an object, it is easier to add retry logic to the various communication backends (as well as eventually support BT mode which uses a slightly different message format than KCS, SMIC, and SSIF). - Add a per-softc lock and remove D_NEEDGIANT as the driver is now MPSAFE. - Add 32-bit compatibility ioctl shims so you can use a 32-bit ipmitool on FreeBSD/amd64. - Add ipmi(4) to i386 and amd64 NOTES.
Submitted by: ambrisko (large portions of 2 and 3) Sponsored by: IronPort Systems, Yahoo! MFC after: 6 days
|
#
162041 |
|
05-Sep-2006 |
anholt |
Include agp_i810.c in amd64 AGP builds to get support for the Intel 915 Express chipsets.
PR: kern/93676 Submitted by: Jan Blaha <Jan.Blaha@unet.cz> MFC after: 1 week
|
#
161310 |
|
15-Aug-2006 |
netchild |
Add the linux 2.6.x stuff (not used by default!): - TLS - complete - pid/tid mangling - complete - thread area - complete - futexes - complete with issues - clone() extension - complete with some possible minor issues - mq*/timer*/clock* stuff - complete but untested and the mq* stuff is disabled when not build as part of the kernel with native FreeBSD mq* support (module support for this will come later)
Tested with: - linux-firefox - works, tested - linux-opera - works, tested - linux-realplay - doesnt work, issue with futexes - linux-skype - doesnt work, issue with futexes - linux-rt2-demo - works, tested - linux-acroread - doesnt work, unknown reason (coredump) and sometimes issue with futexes - various unix utilities in linux-base-gentoo3 and linux-base-fc4: everything tried worked
On amd64 not everything is supported like on i386, the catchup is planned for later when the remaining bugs in the new functions are fixed.
To test this new stuff, you have to run sysctl compat.linux.osrelease=2.6.16 to switch back use sysctl compat.linux.osrelease=2.4.2
Don't switch while running a linux program, strange things may or may not happen.
Sponsored by: Google SoC 2006 Submitted by: rdivacky Some suggestions/help by: jhb, kib, manu@NetBSD.org, netchild
|
#
160813 |
|
29-Jul-2006 |
marcel |
Remove sio(4) and related options from MI files to amd64, i386 and pc98 MD files. Remove nodevice and nooption lines specific to sio(4) from ia64, powerpc and sparc64 NOTES. There were no such lines for arm yet. sio(4) is usable on less than half the platforms, not counting a future mips platform. Its presence in MI files is therefore increasingly becoming a burden.
|
#
159967 |
|
26-Jun-2006 |
obrien |
Add a pure open source nForce Ethernet driver, under BSDL. This driver was ported from OpenBSD by Shigeaki Tagashira <shigeaki@se.hiroshima-u.ac.jp> and posted at http://www.se.hiroshima-u.ac.jp/~shigeaki/software/freebsd-nfe.html It was additionally cleaned up by me. It is still a work-in-progress and thus is purposefully not in GENERIC. And it conflicts with nve(4), so only one should be loaded.
|
#
158737 |
|
18-May-2006 |
ambrisko |
Add in a bunch of things to the mfi driver: - Linux ioctl support, with the other Linux changes MegaCli will run if you mount linprocfs & linsysfs then set sysctl compat.linux.osrelease=2.6.12 or similar. This works on i386. It should work on amd64 but not well tested yet. StoreLib may or may not work. Remember to kldload mfi_linux. - Add in AEN (Async Event Notification) support so we can get messages from the firmware when something happens. Not all messages are in defined in event detail. Use event_log to try to figure out what happened. - Try to implement something like SIGIO for StoreLib. Since mrmonitor doesn't work right I can't fully test it. StoreLib works best with the rh9 base. In theory mrmonitor isn't needed due to native driver support of AEN :-) Now we can configure and monitor the RAID better.
Submitted by: IronPort Systems.
|
#
158381 |
|
09-May-2006 |
ambrisko |
Add in linsysfs. A linux 2.6 like sys filesystem to pacify the Linux LSI MegaRAID SAS utility.
Sponsored by: IronPort Systems Man page help from: brueffer
|
#
158349 |
|
07-May-2006 |
netchild |
- change the example of compiling only specific modules to not contain the linux module, since it is not cross-platform - move linprocfs from "files" and "options" to architecture specific files, since it only makes sense to build this for those architectures, where we also have a linuxolator - disable the build of the linuxolator on our tier-2 architecture "Alpha": * we don't have a linux_base port which supports Alpha and at the same time is not outdated/obsoleted upstream/in a good condition/ currently working * the upcomming new default linux base port is based upon Fedora Core 3 (security support via http://www.fedoralegacy.org), which isn't available for Alpha (like the current default linux base port which is based upon Red Hat 8) * nobody answered my request for testing it ~1 month ago on current@ and alpha@ (it doesn't surprises me, see above) * a SoC student wouldn't have to waste time on something which nobody is willing to test
This does not remove the alpha specific MD files of the linuxolator yet.
Discussed on: arch (mostly silence) Spiritual support by: scottl
|
#
158101 |
|
28-Apr-2006 |
scottl |
Enable the rr232x driver for amd64.
|
#
158005 |
|
24-Apr-2006 |
marcel |
o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough.
|
#
157908 |
|
21-Apr-2006 |
peter |
Introduce minidumps. Full physical memory crash dumps are still available via the debug.minidump sysctl and tunable.
Traditional dumps store all physical memory. This was once a good thing when machines had a maximum of 64M of ram and 1GB of kvm. These days, machines often have many gigabytes of ram and a smaller amount of kvm. libkvm+kgdb don't have a way to access physical ram that is not mapped into kvm at the time of the crash dump, so the extra ram being dumped is mostly wasted.
Minidumps invert the process. Instead of dumping physical memory in in order to guarantee that all of kvm's backing is dumped, minidumps instead dump only memory that is actively mapped into kvm.
amd64 has a direct map region that things like UMA use. Obviously we cannot dump all of the direct map region because that is effectively an old style all-physical-memory dump. Instead, introduce a bitmap and two helper routines (dump_add_page(pa) and dump_drop_page(pa)) that allow certain critical direct map pages to be included in the dump. uma_machdep.c's allocator is the intended consumer.
Dumps are a custom format. At the very beginning of the file is a header, then a copy of the message buffer, then the bitmap of pages present in the dump, then the final level of the kvm page table trees (2MB mappings are expanded into a 4K page mappings), then the sparse physical pages according to the bitmap. libkvm can now conveniently access the kvm page table entries.
Booting my test 8GB machine, forcing it into ddb and forcing a dump leads to a 48MB minidump. While this is a best case, I expect minidumps to be in the 100MB-500MB range. Obviously, never larger than physical memory of course.
minidumps are on by default. It would want be necessary to turn them off if it was necessary to debug corrupt kernel page table management as that would mess up minidumps as well.
Both minidumps and regular dumps are supported on the same machine.
|
#
156326 |
|
05-Mar-2006 |
yar |
Retire NETSMBCRYPTO as a kernel option and make its functionality enabled by default in NETSMB and smbfs.ko.
With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time.
This will also return smbfs.ko to its former properties users are rather accustomed to.
Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days
|
#
155607 |
|
13-Feb-2006 |
ambrisko |
Tie the ipmi driver into the i386/amd64 builds.
|
#
154789 |
|
24-Jan-2006 |
ambrisko |
Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation.
Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation.
Add glue to build the modules but don't tie it into the build yet until I test it from the CVS repo. via the mirror on an amd64 machine.
Tie this into the Linux32 emulation on amd64 so the tools can run on amd64 kernel.
Cleaned up by: ps (amr_linux.c)
|
#
153213 |
|
07-Dec-2005 |
jkim |
Add BPF Just-In-Time compiler support for ng_bpf(4).
The sysctl is changed from net.bpf.jitter.enable to net.bpf_jitter.enable and this controls both bpf(4) and ng_bpf(4) now.
|
#
153151 |
|
06-Dec-2005 |
jkim |
Add experimental BPF Just-In-Time compiler for amd64 and i386.
Use the following kernel configuration option to enable:
options BPF_JITTER
If you want to use bpf_filter() instead (e. g., debugging), do:
sysctl net.bpf.jitter.enable=0
to turn it off.
Currently BIOCSETWF and bpf_mtap2() are unsupported, and bpf_mtap() is partially supported because 1) no need, 2) avoid expensive m_copydata(9).
Obtained from: WinPcap 3.1 (for i386)
|
#
152862 |
|
27-Nov-2005 |
ru |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version.
|
#
152306 |
|
11-Nov-2005 |
ru |
Add /dev/speaker support to amd64.
The following repo-copies were made (by Mark Murray):
sys/i386/isa/spkr.c -> sys/dev/speaker/spkr.c sys/i386/include/speaker.h -> sys/dev/speaker/speaker.h share/man/man4/man4.i386/spkr.4 -> share/man/man4/spkr.4
|
#
149873 |
|
08-Sep-2005 |
scottl |
Hook up the hptmv driver for amd64.
MFC After: 3 days
|
#
148264 |
|
21-Jul-2005 |
peter |
MFi386: add vpd driver (vital product data.. model & serial numbers etc)
|
#
148263 |
|
21-Jul-2005 |
peter |
Add the ed driver for lint building. The PCI instances are still useful. In theory, there are no isa slots on any amd64/em64t systems, but it doesn't hurt to keep these tiny fragments compiling.
|
#
148217 |
|
20-Jul-2005 |
jkim |
Fix smbios(4) and add support for amd64
Approved by: anholt (mentor)
|
#
148147 |
|
18-Jul-2005 |
ps |
Build p4tcc and est cpu frequency modules on amd64.
Reviewed by: njl
|
#
147692 |
|
30-Jun-2005 |
peter |
Jumbo-commit to enhance 32 bit application support on 64 bit kernels. This is good enough to be able to run a RELENG_4 gdb binary against a RELENG_4 application, along with various other tools (eg: 4.x gcore). We use this at work.
ia32_reg.[ch]: handle the 32 bit register file format, used by ptrace, procfs and core dumps. procfs_*regs.c: vary the format of proc/XXX/*regs depending on the client and target application. procfs_map.c: Don't print a 64 bit value to 32 bit consumers, or their sscanf fails. They expect an unsigned long. imgact_elf.c: produce a valid 32 bit coredump for 32 bit apps. sys_process.c: handle 32 bit consumers debugging 32 bit targets. Note that 64 bit consumers can still debug 32 bit targets.
IA64 has got stubs for ia32_reg.c.
Known limitations: a 5.x/6.x gdb uses get/setcontext(), which isn't implemented in the 32/64 wrapper yet. We also make a tiny patch to gdb pacify it over conflicting formats of ld-elf.so.1.
Approved by: re
|
#
147687 |
|
30-Jun-2005 |
peter |
Sync i386->amd64. * Add ichwd (The Intel EM64T folks have an ICH) * Cosmetic comment syncs * Merge cpufreq change over to NOTES * add pbio (it compiles, but isn't useful since no boxes have ISA slots) * copy ath settings (note: wlan disabled here since its in global NOTES) * copy profiling, including fixing a previous i386->amd64 merge typo.
Approved by: re (blanket i386 <-> amd64 sync/convergence)
|
#
147360 |
|
14-Jun-2005 |
marcel |
Include the puc(4) bus frontend for ppc(4) when both ppc and puc are configured.
PR: kern/80737 Submitted by: David Taylor < davidt-fbsd at yadt dot co dot uk > Approved by: re (scottl) MFC after: 5 days
|
#
147307 |
|
11-Jun-2005 |
marcel |
Refactor the NETSMBCRYPTO option so that it does the same on all platforms. ARM is excluded as it doesn't yet have any crypto sources.
Approved by: re (dwhite) MFC after: 1 day
|
#
147271 |
|
10-Jun-2005 |
marius |
- Hook up the new locations of the atkbdc(4), atkbd(4) and psm(4) source files after they were repo-copied to sys/dev/atkbdc. The sources of atkbdc(4) and its children were moved to the new location in preparation for adding an EBus front-end to atkbdc(4) for use on sparc64; i.e. in order to not further scatter them over the whole tree which would have been the result of adding atkbdc_ebus.c in e.g. sys/sparc64/ebus. Another reason for the repo-copies was that some of the sources were misfiled, e.g. sys/isa/atkbd_isa.c wasn't ISA-specific at all but for hanging atkbd(4) off of atkbdc(4) and was renamed to atkbd_atkbdc.c accordingly. Most of sys/isa/psm.c, i.e. expect for its PSMC PNP part, also isn't ISA-specific. - Separate the parts of atkbdc_isa.c which aren't actually ISA-specific but are shareable between different atkbdc(4) bus front-ends into atkbdc_subr.c (repo-copied from atkbdc_isa.c). While here use bus_generic_rl_alloc_resource() and bus_generic_rl_release_resource() respectively in atkbdc_isa.c instead of rolling own versions. - Add sparc64 MD bits to atkbdc(4) and atkbd(4) and an EBus front-end for atkbdc(4). PS/2 controllers and input devices are used on a couple of Sun OEM boards and occur on either the EBus or the ISA bus. Depending on the board it's either the only on-board mean to connect a keyboard and mouse or an alternative to either RS232 or USB devices. - Wrap the PSMC PNP part of psm.c in #ifdef DEV_ISA so it can be compiled without isa(4) (e.g. for EBus-only machines). This ISA-specific part isn't separated into its own source file, yet, as it requires more work than was feasible for 6.0 in order to do it in a clean way. Actually philip@ is working on a rewrite of psm(4) so a more comprehensive clean-up and separation of hardware dependent and independent parts is expected to happen after 6.0.
Tested on: i386, sparc64 (AX1105, AXe and AXi boards) Reviewed by: philip
|
#
147191 |
|
09-Jun-2005 |
jkoshy |
MFP4:
- Implement sampling modes and logging support in hwpmc(4).
- Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code.
- New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file).
- pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events.
- bug fixes & documentation.
|
#
145653 |
|
29-Apr-2005 |
scottl |
Update the file.* entries for the new home of hwpmc
|
#
145485 |
|
24-Apr-2005 |
wpaul |
Throw the switch on the new driver generation/loading mechanism. From here on in, if_ndis.ko will be pre-built as a module, and can be built into a static kernel (though it's not part of GENERIC). Drivers are created using the new ndisgen(8) script, which uses ndiscvt(8) under the covers, along with a few other tools. The result is a driver module that can be kldloaded into the kernel.
A driver with foo.inf and foo.sys files will be converted into foo_sys.ko (and foo_sys.o, for those who want/need to make static kernels). This module contains all of the necessary info from the .INF file and the driver binary image, converted into an ELF module. You can kldload this module (or add it to /boot/loader.conf) to have it loaded automatically. Any required firmware files can be bundled into the module as well (or converted/loaded separately).
Also, add a workaround for a problem in NdisMSleep(). During system bootstrap (cold == 1), msleep() always returns 0 without actually sleeping. The Intel 2200BG driver uses NdisMSleep() to wait for the NIC's firmware to come to life, and fails to load if NdisMSleep() doesn't actually delay. As a workaround, if msleep() (and hence ndis_thsuspend()) returns 0, use a hard DELAY() to sleep instead). This is not really the right thing to do, but we can't really do much else. At the very least, this makes the Intel driver happy.
There are probably other drivers that fail in this way during bootstrap. Unfortunately, the only workaround for those is to avoid pre-loading them and kldload them once the system is running instead.
|
#
145415 |
|
22-Apr-2005 |
ru |
Clean generated os+%DIKED-nve.h.
|
#
145256 |
|
19-Apr-2005 |
jkoshy |
Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities and documentation into -CURRENT.
Bump FreeBSD_version.
Reviewed by: alc, jhb (kernel changes)
|
#
144637 |
|
04-Apr-2005 |
jhb |
Divorce critical sections from spinlocks. Critical sections as denoted by critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case.
Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch.
This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example).
Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
|
#
144500 |
|
01-Apr-2005 |
scottl |
FIx a botch with the addition of the arcmsr driver.
|
#
144423 |
|
31-Mar-2005 |
scottl |
Glue the arcmsr driver into the tree.
|
#
144196 |
|
27-Mar-2005 |
njl |
Add powernow to kernel build target.
|
#
143442 |
|
11-Mar-2005 |
obrien |
FreeBSD consumer bits of the nForce MCP NIC binary blob.
Demanded by: DES Encouraged by: scottl Obtained from: q@onthenet.com.au (partially) KNF'ed by: obrien
|
#
142399 |
|
24-Feb-2005 |
wpaul |
- Correct one aspect of the driver_object/device_object/IRP framework: when we create a PDO, the driver_object associated with it is that of the parent driver, not the driver we're trying to attach. For example, if we attach a PCI device, the PDO we pass to the NdisAddDevice() function should contain a pointer to fake_pci_driver, not to the NDIS driver itself. For PCI or PCMCIA devices this doesn't matter because the child never needs to talk to the parent bus driver, but for USB, the child needs to be able to send IRPs to the parent USB bus driver, and for that to work the parent USB bus driver has to be hung off the PDO.
This involves modifying windrv_lookup() so that we can search for bus drivers by name, if necessary. Our fake bus drivers attach themselves as "PCI Bus," "PCCARD Bus" and "USB Bus," so we can search for them using those names.
The individual attachment stubs now create and attach PDOs to the parent bus drivers instead of hanging them off the NDIS driver's object, and in if_ndis.c, we now search for the correct driver object depending on the bus type, and use that to find the correct PDO.
With this fix, I can get my sample USB ethernet driver to deliver an IRP to my fake parent USB bus driver's dispatch routines.
- Add stub modules for USB support: subr_usbd.c, usbd_var.h and if_ndis_usb.c. The subr_usbd.c module is hooked up the build but currently doesn't do very much. It provides the stub USB parent driver object and a dispatch routine for IRM_MJ_INTERNAL_DEVICE_CONTROL. The only exported function at the moment is USBD_GetUSBDIVersion(). The if_ndis_usb.c stub compiles, but is not hooked up to the build yet. I'm putting these here so I can keep them under source code control as I flesh them out.
|
#
141963 |
|
16-Feb-2005 |
wpaul |
Add support for Windows/x86-64 binaries to Project Evil. Ville-Pertti Keinonen (will at exomi dot comohmygodnospampleasekthx) deserves a big thanks for submitting initial patches to make it work. I have mangled his contributions appropriately.
The main gotcha with Windows/x86-64 is that Microsoft uses a different calling convention than everyone else. The standard ABI requires using 6 registers for argument passing, with other arguments on the stack. Microsoft uses only 4 registers, and requires the caller to leave room on the stack for the register arguments incase the callee needs to spill them. Unlike x86, where Microsoft uses a mix of _cdecl, _stdcall and _fastcall, all routines on Windows/x86-64 uses the same convention. This unfortunately means that all the functions we export to the driver require an intermediate translation wrapper. Similarly, we have to wrap all calls back into the driver binary itself.
The original patches provided macros to wrap every single routine at compile time, providing a secondary jump table with a customized wrapper for each exported routine. I decided to use a different approach: the call wrapper for each function is created from a template at runtime, and the routine to jump to is patched into the wrapper as it is created. The subr_pe module has been modified to patch in the wrapped function instead of the original. (On x86, the wrapping routine is a no-op.)
There are some minor API differences that had to be accounted for:
- KeAcquireSpinLock() is a real function on amd64, not a macro wrapper around KfAcquireSpinLock() - NdisFreeBuffer() is actually IoFreeMdl(). I had to change the whole NDIS_BUFFER API a bit to accomodate this.
Bugs fixed along the way: - IoAllocateMdl() always returned NULL - kern_windrv.c:windrv_unload() wasn't releasing private driver object extensions correctly (found thanks to memguard)
This has only been tested with the driver for the Broadcom 802.11g chipset, which was the only Windows/x86-64 driver I could find.
|
#
139099 |
|
21-Dec-2004 |
obrien |
Protect the NM expansion.
|
#
139098 |
|
21-Dec-2004 |
obrien |
Fix a mis-sort.
|
#
138877 |
|
15-Dec-2004 |
peter |
Add config hooks for amd64 atheros hal modules
|
#
137998 |
|
22-Nov-2004 |
imp |
It appears that 'kbd' device has never been used and isn't needed. Build tests show that this isn't used for GENERIC or LINT, and nobody seemed to know why they existed.
|
#
135871 |
|
28-Sep-2004 |
markm |
Be consistant; make the memrange bit be part of the mem module like i386.
|
#
135690 |
|
23-Sep-2004 |
peter |
Converge towards i386. I originally resisted creating <machine/pc/bios.h> because it was mostly irrelevant - except for the silly BIOS_PADDRTOVADDR etc macros. Along the way of working around this, I missed a few things.
* Make syscons properly inherit the bios capslock/shiftlock/etc state like i386 does. Note that we cannot inherit the bios key repeat rate because that requires a bios call (which is impossible for us). * Give syscons the ability to beep on amd64. Oops.
While here, make bios.c compile and add it to files.amd64.
|
#
134553 |
|
30-Aug-2004 |
peter |
Add the mp_watchdog hooks, although it locks up my SMP test box. It might be useable to somebody.
|
#
133854 |
|
16-Aug-2004 |
obrien |
Complete 'IA32' -> 'COMPAT_IA32' change for the Linuxulator32.
|
#
133852 |
|
16-Aug-2004 |
obrien |
AMD64 on-CPU GART support. This also applies to AMD64 HW running 'i386' OS.
Submitted by: Jung-uk Kim <jkim@niksun.com> Integration by: obrien
|
#
133819 |
|
16-Aug-2004 |
tjr |
Add preliminary support for running 32-bit Linux binaries on amd64, enabled with the COMPAT_LINUX32 option. This is largely based on the i386 MD Linux emulations bits, but also builds on the 32-bit FreeBSD and generic IA-32 binary emulation work.
Some of this is still a little rough around the edges, and will need to be revisited before 32-bit and 64-bit Linux emulation support can coexist in the same kernel.
|
#
133141 |
|
04-Aug-2004 |
markm |
Oops. Didn't commit this as part of the mem module fix.
|
#
132956 |
|
01-Aug-2004 |
markm |
Break out the MI part of the /dev/[k]mem and /dev/io drivers into their own directory and module, leaving the MD parts in the MD area (the MD parts _are_ part of the modules). /dev/mem and /dev/io are now loadable modules, thus taking us one step further towards a kernel created entirely out of modules. Of course, there is nothing preventing the kernel from having these statically compiled.
|
#
132217 |
|
15-Jul-2004 |
njl |
Hook up fdc_acpi for the kernel build.
|
#
131951 |
|
10-Jul-2004 |
marcel |
Hook the GDB backend into the build.
|
#
131854 |
|
09-Jul-2004 |
imp |
Fix mismerge of fdc. Also, OLDCARD never was supported on amd64, so remove fdc attachment for it.
|
#
131766 |
|
07-Jul-2004 |
imp |
Break out the isa and pccard front ends to the fdc controller device. This should allow us to more easily break out the acpi and 'legacy pc' front ends as well (so only the bus front end would touch rtc, for example).
This isn't a great separation, since isa dma routines are still called from the MI code, but it is a start.
|
#
131334 |
|
30-Jun-2004 |
njl |
Move acpi_if.m to files.{amd64,i386,ia64}. This should fix the alpha build.
Pointed out by: gallatin
|
#
129653 |
|
24-May-2004 |
bde |
Fixed profiling of trap, syscall and interrupt handlers and some ordinary functions, essentially by backing out half of rev.1.115 of amd64/exception.S. The handlers must be between certain labels for the purposes of profiling, and this was broken by scattering them in separately compiled .S files, especially for ordinary functions that ended up between the labels. Merge the files by #including them as before, except with different pathnames and better comments and organization. Changes to the scattered files are minimal -- just move the labels to the file that does the #includes.
This also partly fixes profiling of IPIs -- all IPI handlers are now correctly classified as interrupt handlers, but many are still missing mcount calls.
|
#
129646 |
|
24-May-2004 |
bde |
Fixed insertion sort error in previous commit (prof_machdep.c).
Fixed apparently-intentional disorder of the crypto files. Lists of files should be sorted first on the pathname, not on the option name or subsystem.
|
#
129627 |
|
23-May-2004 |
bde |
Build prof_machdep.c if profiling.
Kernel profiling for amd64's (normal and high resolution) should now compile and work as (un)well as on i386's. It works better than user profiling because: - it uses _cyg_profile_func_*() instead of .mcount(), so it doesn't suffer from gcc misspelling .mcount as mcount. - it doesn't neglect saving %rax in .mcount().
The SMP case hasn't been tested. The high resolution subcase of this uses the i8254, and as on i386's, the locking for this is deficient and the i8254 is too inefficient. The acpi timer is also too inefficient.
|
#
129318 |
|
17-May-2004 |
imp |
Move fdc from isa/fd.c to dev/fdc/fdc.c. The old files were repocopied. Soon there will be additional bus attachments and specialization for isa, acpi and pccard (and maybe pc98's cbus).
This was approved by nate, joerg and myself. bde dissented on the new location, but appeared to be OK after some discussion.
|
#
129284 |
|
16-May-2004 |
peter |
MFi386: numerous interrupt and acpi updates
|
#
129283 |
|
16-May-2004 |
peter |
Enable first part of kld's on amd64. This is known to not work right yet, but building kld's is OK now and they can be loaded by kldload(2). (but the machine will likely crash soon afterwards, a "minor" problem :-)
Brought to you by: my injured knee (from moving)
|
#
128577 |
|
23-Apr-2004 |
tjr |
Add files required for the NETSMBCRYPTO option.
|
#
127236 |
|
20-Mar-2004 |
alc |
Introduce uiomove_fromphys(). This is a variant of uiomove() that takes a collection of physical pages as the source. On amd64 it is implemented using the direct virtual-to-physical map.
|
#
126545 |
|
03-Mar-2004 |
obrien |
Add rules for font.h atkbdmap.h ukbdmap.h so more of LINT can be built.
|
#
125465 |
|
04-Feb-2004 |
peter |
Add crypto implemenation files (C versions (like alpha, unlike i386))
|
#
123424 |
|
10-Dec-2003 |
peter |
Move the ia32_sigtramp.S file back under amd64/. This interfaces closely with the sendsig code in the MD area. It is not safe to assume that all the register conventions will be the same. Also, the way of producing 32 bit code (.code32 directives) in this file is amd64 specific.
|
#
122849 |
|
17-Nov-2003 |
peter |
Initial landing of SMP support for FreeBSD/amd64.
- This is heavily derived from John Baldwin's apic/pci cleanup on i386. - I have completely rewritten or drastically cleaned up some other parts. (in particular, bootstrap) - This is still a WIP. It seems that there are some highly bogus bioses on nVidia nForce3-150 boards. I can't stress how broken these boards are. I have a workaround in mind, but right now the Asus SK8N is broken. The Gigabyte K8NPro (nVidia based) is also mind-numbingly hosed. - Most of my testing has been with SCHED_ULE. SCHED_4BSD works. - the apic and acpi components are 'standard'. - If you have an nVidia nForce3-150 board, you are stuck with 'device atpic' in addition, because they somehow managed to forget to connect the 8254 timer to the apic, even though its in the same silicon! ARGH! This directly violates the ACPI spec.
|
#
122279 |
|
08-Nov-2003 |
peter |
Rename npx.c to fpu.c (it isn't an extension, its part of the core architecture now).
|
#
121081 |
|
14-Oct-2003 |
alc |
MFia64 Move uma_small_alloc() and uma_small_free() to uma_machdep.c.
|
#
119816 |
|
06-Sep-2003 |
marcel |
Hook-up the uart(4) driver to the build. For a detailed description of what uart(4) is and/or is not see the initial commit log of one of the files in sys/dev/uart (or see share/man/man4/uart.4).
Note that currently pc98 shares the MD file with i386. This needs to change when pc98 support is fleshed-out to properly support the various UARTs. A good example is sparc64 in this respect.
We build uart(4) as a module on all platforms. This may break the ppc port. That depends on whether they do actually build modules.
To use uart(4) on alpha, one must use the NO_SIO option.
|
#
119342 |
|
22-Aug-2003 |
peter |
Turn on the MTRR driver.
|
#
119341 |
|
22-Aug-2003 |
peter |
Complete the switch to the common 32 bit support code.
|
#
118408 |
|
04-Aug-2003 |
imp |
fix disordering of filenames. Place the dev/ppc files in alphabetical order.
|
#
118292 |
|
01-Aug-2003 |
ambrisko |
Add printer support to puc(4) driver. - Move isa/ppc* to sys/dev/ppc (repo-copy) - Add an attachment method to ppc for puc - In puc we need to walk the chain of parents. Still to do, is to make ppc(4) & puc(4) work on other platforms. Testers wanted.
PR: 38372 (in spirit done differently) Verified by: Make universe (if I messed up a platform please fix)
|
#
115429 |
|
31-May-2003 |
peter |
Make this compile with WITNESS enabled. It wants the syscall names.
|
#
115428 |
|
31-May-2003 |
peter |
Port acpica to amd64.
Approved by: re (amd64/* blanket)
|
#
115405 |
|
29-May-2003 |
peter |
Add ddb machdep bits.
Approved by: re (amd64 bits)
|
#
115048 |
|
16-May-2003 |
obrien |
Run $S/kern/genassym.sh with the correct NM.
Approved by: re(blanket)
|
#
114987 |
|
14-May-2003 |
peter |
Add BASIC i386 binary support for the amd64 kernel. This is largely stolen from the ia64/ia32 code (indeed there was a repocopy), but I've redone the MD parts and added and fixed a few essential syscalls. It is sufficient to run i386 binaries like /bin/ls, /usr/bin/id (dynamic) and p4. The ia64 code has not implemented signal delivery, so I had to do that.
Before you say it, yes, this does need to go in a common place. But we're in a freeze at the moment and I didn't want to risk breaking ia64. I will sort this out after the freeze so that the common code is in a common place.
On the AMD64 side, this required adding segment selector context switch support and some other support infrastructure. The %fs/%gs etc code is hairy because loading %gs will clobber the kernel's current MSR_GSBASE setting. The segment selectors are not used by the kernel, so they're only changed at context switch time or when changing modes. This still needs to be optimized.
Approved by: re (amd64/* blanket)
|
#
114563 |
|
03-May-2003 |
peter |
Spell cpu_switch correctly.
|
#
114558 |
|
02-May-2003 |
peter |
Rename amd64/*.s to amd64/*.S
|
#
114370 |
|
01-May-2003 |
peter |
Sync up with the files in the hammer branch in the p4 tree to get basic AMD64 support. There is still more to add.
|
#
111684 |
|
28-Feb-2003 |
ru |
Standardize handling of locore.[sS] etc. files.
Submitted by: jake, bde, ru
|
#
110076 |
|
30-Jan-2003 |
phk |
Remove entries for files we don't have.
Approved by: peter
|
#
109990 |
|
28-Jan-2003 |
phk |
NO_GEOM cleanup: remove subr_disklabel.c from powerpc and x86_64.
|
#
109449 |
|
17-Jan-2003 |
phk |
Remove subr_diskslice.c and subr_diskmbr.c which I can see no traces off a need for in the x86_64 files. Not compile tested.
|
#
109428 |
|
17-Jan-2003 |
phk |
Move subr_disklabel.c and subr_diskslice.c from being MI to MD files, so that they can be left out where they are unneeded.
|
#
102150 |
|
19-Aug-2002 |
peter |
de-count atkbdc and sc. Folks, remove the '1' from 'device sc 1' and 'device atkbdc 1'.
|
#
100599 |
|
24-Jul-2002 |
jhb |
Move sio_isa.c back to MD files files due to PC98 brain damage.
|
#
100106 |
|
15-Jul-2002 |
jhb |
Move all the sio(4) attachments (except for pc98's cbus attachment) to the MI files file. We can't move sio.c because pc98 uses a custom version.
|
#
100105 |
|
15-Jul-2002 |
jhb |
The puc(4) driver/bridge is MI, so don't bury it in MD options and files config files. It also depends on PCI.
|
#
99127 |
|
30-Jun-2002 |
obrien |
This is the start of the FreeBSD/x86_64 kernel.
|