summaryrefslogtreecommitdiffstats
path: root/sys/pc98
Commit message (Collapse)AuthorAgeFilesLines
* Add MALLOC_DEBUG_MAXZONES debug malloc(9) option to use multiple umamdf2010-07-281-0/+1
| | | | | | | | | | | | | | | | | | | | | zones for each malloc bucket size. The purpose is to isolate different malloc types into hash classes, so that any buffer overruns or use-after-free will usually only affect memory from malloc types in that hash class. This is purely a debugging tool; by varying the hash function and tracking which hash class was corrupted, the intersection of the hash classes from each instance will point to a single malloc type that is being misused. At this point inspection or memguard(9) can be used to catch the offending code. Add MALLOC_DEBUG_MAXZONES=8 to -current GENERIC configuration files. The suggestion to have this on by default came from Kostik Belousov on -arch. This code is based on work by Ron Steinke at Isilon Systems. Reviewed by: -arch (mostly silence) Reviewed by: zml Approved by: zml (mentor)
* Store fsbase and gsbase in the right fields of the mcontext. They weretijl2010-07-201-4/+4
| | | | | | | | switched. PR: i386/148344 Approved by: kib (mentor) MFC after: 1 week
* Unify pc98 event timer code with the rest of x86.mav2010-07-132-563/+4
| | | | Reviewed by: nyan@
* Move prototypes for kern_sigtimedwait() and kern_sigprocmask() tojhb2010-06-301-0/+1
| | | | <sys/syscallsubr.h> where all other kern_<syscall> prototypes live.
* Fix bugs on pc98, use npxgetuserregs() instead of npxgetregs() forkib2010-06-231-11/+8
| | | | | | | | | | get_fpcontext(), and npxsetuserregs() for set_fpcontext). Also, note that usercontext is not initialized anymore in fpstate_drop(). Systematically replace references to npxgetregs() and npxsetregs() by npxgetuserregs() and npxsetuserregs() in comments. Noted by: bde
* After the FPU use requires #MF working due to INT13 FPU exception handlingkib2010-06-231-3/+2
| | | | | | | | | removal, MFi386 r209198: Use critical sections instead of disabling local interrupts to ensure the consistency between PCPU fpcurthread and the state of FPU. Reviewed by: bde Tested by: pho
* Remove the support for int13 FPU exception reporting on i386. It iskib2010-06-231-45/+2
| | | | | | | | | believed that all 486-class CPUs FreeBSD is capable to run on, either have no FPU and cannot use external coprocessor, or have FPU on the package and can use #MF. Reviewed by: bde Tested by: pho (previous version)
* Implement new event timers infrastructure. It provides unified APIs formav2010-06-201-39/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Introduce the x86 kernel interfaces to allow kernel code to usekib2010-06-051-4/+4
| | | | | | | | | | | | | | | | FPU/SSE hardware. Caller should provide a save area that is chained into the stack of the areas; pcb save_area for usermode FPU state is on top. The pcb now contains a pointer to the current FPU saved area, used during FPUDNA handling and context switches. There is also a facility to allow the kernel thread to use pcb save_area. Change the dreaded warnings "npxdna in kernel mode!" into the panics when FPU usage is not registered. KPI discussed with: fabient Tested by: pho, fabient Hardware provided by: Sentex Communications MFC after: 1 month
* MFi386: the part of revision 181809nyan2010-05-291-5/+5
| | | | Use SEL_KPL macro.
* MFi386: revision 178471nyan2010-05-291-42/+150
| | | | | | | | | | | | | | - Add an integer argument to idle to indicate how likely we are to wake from idle over the next tick. - Add a new MD routine, cpu_wake_idle() to wakeup idle threads who are suspended in cpu specific states. This function can fail and cause the scheduler to fall back to another mechanism (ipi). - Implement support for mwait in cpu_idle() on i386/amd64 machines that support it. mwait is a higher performance way to synchronize cpus as compared to hlt & ipis. - Allow selecting the idle routine by name via sysctl machdep.idle. This replaces machdep.cpu_idle_hlt. Only idle routines supported by the current machine are permitted.
* Reduce diffs against i386.nyan2010-05-291-11/+17
|
* MFi386: revision 208621nyan2010-05-291-2/+0
| | | | | Defer initializing machine checks for the boot CPU until the local APIC is fully configured.
* MFi386: revision 208604nyan2010-05-291-0/+14
| | | | Clarify a potential issue in get_fpcontext() use.
* Reduce diffs against syscons_isa.c. No functional changes.nyan2010-05-261-29/+34
|
* - Implement MI helper functions, dividing one or two timer interrupts withmav2010-05-241-11/+10
| | | | | | | | arbitrary frequencies into hardclock(), statclock() and profclock() calls. Same code with minor variations duplicated several times over the tree for different timer drivers and architectures. - Switch all x86 archs to new functions, simplifying the code and removing extra logic from timer drivers. Other archs are also welcome.
* Change ad_firmware_geom_adjust() to operate on a struct disk * only andmarius2010-05-202-18/+16
| | | | | | | | | hook it up to ada(4) also. While at it, rename *ad_firmware_geom_adjust() to *ata_disk_firmware_geom_adjust() etc now that these are no longer limited to ad(4). Reviewed by: mav MFC after: 3 days
* MFi386: revision 206553nyan2010-04-291-4/+8
| | | | | - Change printf() calls to uprintf() for sigreturn(). - Normalize the messages to include both pid and thread name.
* Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this hadthompsa2010-04-221-0/+1
| | | | | | the illusion of a tunable setting but was always turned on regardless. MFC after: 1 week
* Comply with the new cyclic dtrace module variable namerpaulo2010-04-211-2/+2
| | | | (cyclic_clock_func).
* Default the machdep.lapic_allclocks to be enabled in order to cope withattilio2010-04-091-1/+1
| | | | | | | | | | broken atrtc. Now if you want more correct stats on profhz and stathz it may be disabled by setting to 0. Reported by: A. Akephalos <akephalos dot akephalos at gmail dot com>, Jakub Lach <jakub_lach at mailplus dot pl> MFC: 1 week
* Change the arguments of exec_setregs() so that it receives a pointernwhitehorn2010-03-251-7/+3
| | | | | | | | to the image_params struct instead of several members of that struct individually. This makes it easier to expand its arguments in the future without touching all platforms. Reviewed by: jhb
* Remove COMPAT_43TTY from stock kernel configuration files.ed2010-03-131-1/+0
| | | | | | | | COMPAT_43TTY enables the sgtty interface. Even though its exposure has only been removed in FreeBSD 8.0, it wasn't used by anything in the base system in FreeBSD 5.x (possibly even 4.x?). On those releases, if your ports/packages are less than two years old, they will prefer termios over sgtty.
* MFx86: the part of r204641nyan2010-03-051-2/+7
| | | | | | | | | In order to do that cleanly, lapic_setup_clock(), on both ia32 and amd64, now accepts as arguments the desired sources to handle, and returns the actual ones (LAPIC_CLOCK_NONE is forbidden because otherwise there is no meaning in calling such function). This allows to bring out into commont x86 code the handling part for machdep.lapic_allclocks tunable, which is retained.
* Introduce the new kernel sub-tree x86 which should contain all the codeattilio2010-02-251-1/+1
| | | | | | | | | | | | | | 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
* Adjust style (following the already existing rules) for the newlyattilio2010-02-151-1/+1
| | | | | | introduced option DEADLKRES. Reported by: danfe, julian, avg
* Add the options DEADLKRES (introducing the deadlock resolver thread) inattilio2010-02-101-0/+1
| | | | | | | | | | the 'debugging' section of any HEAD kernel and enable for the mainstream ones, excluding the embedded architectures. It may, of course, enabled on a case-by-case basis. Sponsored by: Sandvine Incorporated Requested by: emaste Discussed with: kib
* Move the examples for the 'hints' and 'env' keywords from various GENERICjhb2010-01-191-9/+0
| | | | | | kernel configs into NOTES. Reviewed by: imp
* - Allow clock subsystem to be compiled without the apic support [0]attilio2010-01-172-2/+3
| | | | | | | | - ATPIC, on pc98 is never defined somewhere, differently from i386. Turn its compilation to be conditional as i386 does. [1] [0] Reported by: nyan [1] Submitted by: nyan
* Handling all the three clocks (hardclock, softclock, profclock) with theattilio2010-01-151-4/+5
| | | | | | | | | | | | | | | | | | LAPIC may lead to aliasing for softclock and profclock because frequencies are sized in order to fit mainly hardclock. atrtc used to take care of the softclock and profclock and it does still do, if the LAPIC can't handle the clocks properly. Revert the change when the LAPIC started taking charge of all three of them and let atrtc handle softclock and profclock if not explicitly requested. Such request can be made setting != 0 the new tunable machdep.lapic_allclocks or if the new device ATPIC is not present within the i386 kernel config (atrtc is linked to atpic presence). Diagnosed by: Sandvine Incorporated Reviewed by: jhb, emaste Sponsored by: Sandvine Incorporated MFC: 3 weeks
* Add INCLUDE_CONFIG_FILE in GENERIC on all non-embedded platforms.imp2010-01-101-0/+1
| | | | | | # This is the resolution of removing it from DEFAULTS... MFC after: 5 days
* In sys/<arch>/conf/Makefile set TARGET to <arch>. That allowsbz2010-01-081-0/+2
| | | | | | | | | | | | | | | | sys/conf/makeLINT.mk to only do certain things for certain architectures. Note that neither arm nor mips have the Makefile there, thus essentially not (yet) supporting LINT. This would enable them do add special treatment to sys/conf/makeLINT.mk as well chosing one of the many configurations as LINT. This is a hack of doing this and keeping it in a separate commit will allow us to more easily identify and back it out. Discussed on/with: arch, jhb (as part of the LINT-VIMAGE thread) MFC after: 1 month
* Revert 200594. This file isn't intended for these sorts of things.imp2010-01-041-7/+0
|
* Add vlan(4) to all GENERIC kernels.brooks2010-01-031-0/+1
| | | | MFC after: 1 week
* Re-enable more options and devices. Now kernel size problem is gone.nyan2010-01-031-20/+20
| | | | MFC after: 2 week
* Update d_mmap() to accept vm_ooffset_t and vm_memattr_t.rnoland2009-12-291-4/+5
| | | | | | | | | | | | | This replaces d_mmap() with the d_mmap2() implementation and also changes the type of offset to vm_ooffset_t. Purge d_mmap2(). All driver modules will need to be rebuilt since D_VERSION is also bumped. Reviewed by: jhb@ MFC after: Not in this lifetime...
* - Create a separate section in in the MI NOTES file for PCI wireless NICjhb2009-12-181-20/+0
| | | | | | | drivers and move bwi(4) there from the PCI Ethernet NIC section. - Move ath(4) and ral(4) to the MI NOTES file. Reviewed by: rpaulo
* Add INCLUDE_CONFIG_FILE, and a note in comments about how to alsodougb2009-12-161-0/+7
| | | | include the comments with CONFIGARGS
* Fix cut'n paste on the AR9280 entry.thompsa2009-12-021-1/+1
| | | | Submitted by: pluknet
* Add missing ath_ar9* ath hal entries.thompsa2009-12-021-0/+2
|
* Remove duplicate 'ural' entry since it was added to the MI NOTES a whilejhb2009-11-171-2/+0
| | | | ago.
* MFi386: revision 199104nyan2009-11-121-16/+62
| | | | Make isa_dma functions MPSAFE by introducing its own private lock.
* Allow Syscons terminal emulators to provide function key strings.ed2009-11-111-8/+17
| | | | | | | | | xterm and cons25 have some incompatibilities when it comes to escape sequences for special keys, such as F1 to F12, home, end, etc. Add a new te_fkeystr() that can be used to override the strings. scterm-sck won't do anything with this, but scterm-teken will use teken_get_sequences() to obtain the proper sequence.
* In r197963, a race with thread being selected for signal deliverykib2009-10-271-21/+6
| | | | | | | | | | | | | while in kernel mode, and later changing signal mask to block the signal, was fixed for sigprocmask(2) and ptread_exit(3). The same race exists for sigreturn(2), setcontext(2) and swapcontext(2) syscalls. Use kern_sigprocmask() instead of direct manipulation of td_sigmask to reschedule newly blocked signals, closing the race. Reviewed by: davidxu Tested by: pho MFC after: 1 month
* Move the USB wireless drivers down into their own section next to the USBjhb2009-10-131-4/+5
| | | | | | | ethernet drivers. Submitted by: Glen Barber glen.j.barber @ gmail MFC after: 1 month
* MFi386: revision 197653nyan2009-10-011-1/+1
| | | | | | Improve 802.11s comment. MFC after: 1 day
* lindev(4) [1] is supposed to be a collection of linux-specific pseudobz2009-09-261-0/+3
| | | | | | | | | | | | | | | | | | | 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
* MFi386: Remove old file.nyan2009-09-091-6/+0
|
* Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating anphk2009-09-081-0/+29
| | | | | architecture specific include file containing the _ALIGN* stuff which <sys/socket.h> needs.
* Temporarily revert the new-bus locking for 8.0 release. It will bejhb2009-08-201-6/+0
| | | | | | reintroduced after HEAD is reopened for commits by re@. Approved by: re (kib), attilio
OpenPOWER on IntegriCloud