aboutsummaryrefslogtreecommitdiff
path: root/sys/pc98/include
Commit message (Collapse)AuthorAgeFilesLines
* Merge from projects/counters: counter(9).Gleb Smirnoff2013-04-081-0/+6
| | | | | | | | | | | | | | | | Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data. See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details. In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc. Notes: svn path=/head/; revision=249268
* Use ANSI prototype to fix build with clang.Yoshihiro Takahashi2012-11-101-77/+43
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=242866
* Add an unified macro to deny ability from the compiler to reorderAttilio Rao2012-10-091-1/+1
| | | | | | | | | | | | | instruction loads/stores at its will. The macro __compiler_membar() is currently supported for both gcc and clang, but kernel compilation will fail otherwise. Reviewed by: bde, kib Discussed with: dim, theraven MFC after: 2 weeks Notes: svn path=/head/; revision=241374
* Implement mechanism to export some kernel timekeeping data toKonstantin Belousov2012-06-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usermode, using shared page. The structures and functions have vdso prefix, to indicate the intended location of the code in some future. The versioned per-algorithm data is exported in the format of struct vdso_timehands, which mostly repeats the content of in-kernel struct timehands. Usermode reading of the structure can be lockless. Compatibility export for 32bit processes on 64bit host is also provided. Kernel also provides usermode with indication about currently used timecounter, so that libc can fall back to syscall if configured timecounter is unknown to usermode code. The shared data updates are initiated both from the tc_windup(), where a fast task is queued to do the update, and from sysctl handlers which change timecounter. A manual override switch kern.timecounter.fast_gettime allows to turn off the mechanism. Only x86 architectures export the real algorithm data, and there, only for tsc timecounter. HPET counters page could be exported as well, but I prefer to not further glue the kernel and libc ABI there until proper vdso-based solution is developed. Minimal stubs neccessary for non-x86 architectures to still compile are provided. Discussed with: bde Reviewed by: jhb Tested by: flo MFC after: 1 month Notes: svn path=/head/; revision=237433
* Move the legacy(4) driver to x86.John Baldwin2012-03-301-6/+0
| | | | Notes: svn path=/head/; revision=233707
* Copy amd64 sysarch.h to x86 and merge with i386 sysarch.h. ReplaceTijl Coosemans2012-03-191-1/+1
| | | | | | | amd64/i386/pc98 sysarch.h with stubs. Notes: svn path=/head/; revision=233209
* Copy i386 specialreg.h to x86 and merge with amd64 specialreg.h. ReplaceTijl Coosemans2012-03-191-1/+1
| | | | | | | amd64/i386/pc98 specialreg.h with stubs. Notes: svn path=/head/; revision=233207
* Copy i386 psl.h to x86 and replace amd64/i386/pc98 psl.h with stubs.Tijl Coosemans2012-03-191-1/+1
| | | | Notes: svn path=/head/; revision=233204
* Copy i386 reg.h to x86 and merge with amd64 reg.h. Replace i386/amd64/pc98Tijl Coosemans2012-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | reg.h with stubs. The tREGISTER macros are only made visible on i386. These macros are deprecated and should not be available on amd64. The i386 and amd64 versions of struct reg have been renamed to struct __reg32 and struct __reg64. During compilation either __reg32 or __reg64 is defined as reg depending on the machine architecture. On amd64 the i386 struct is also available as struct reg32 which is used in COMPAT_FREEBSD32 code. Most of compat/ia32/ia32_reg.h is now IA64 only. Reviewed by: kib (previous version) Notes: svn path=/head/; revision=233124
* Copy amd64 ptrace.h to x86 and merge with i386 ptrace.h. ReplaceTijl Coosemans2012-03-041-1/+1
| | | | | | | | | | | | | amd64/i386/pc98 ptrace.h with stubs. For amd64 PT_GETXSTATE and PT_SETXSTATE have been redefined to match the i386 values. The old values are still supported but should no longer be used. Reviewed by: kib Notes: svn path=/head/; revision=232520
* Copy amd64 trap.h to x86 and replace amd64/i386/pc98 trap.h with stubs.Tijl Coosemans2012-03-041-1/+1
| | | | Notes: svn path=/head/; revision=232492
* Copy amd64 float.h to x86 and merge with i386 float.h. ReplaceTijl Coosemans2012-03-041-1/+1
| | | | | | | amd64/i386/pc98 float.h with stubs. Notes: svn path=/head/; revision=232491
* Copy amd64 stdarg.h to x86 and replace amd64/i386/pc98 stdarg.h with stubs.Tijl Coosemans2012-02-281-1/+1
| | | | Notes: svn path=/head/; revision=232276
* Copy amd64 setjmp.h to x86 and replace amd64/i386/pc98 setjmp.h with stubs.Tijl Coosemans2012-02-281-1/+1
| | | | Notes: svn path=/head/; revision=232275
* Copy amd64 endian.h to x86 and merge with i386 endian.h. ReplaceTijl Coosemans2012-02-281-1/+1
| | | | | | | | | | | | | amd64/i386/pc98 endian.h with stubs. In __bswap64_const(x) the conflict between 0xffUL and 0xffULL has been resolved by reimplementing the macro in terms of __bswap32(x). As a side effect __bswap64_var(x) is now implemented using two bswap instructions on i386 and should be much faster. __bswap32_const(x) has been reimplemented in terms of __bswap16(x) for consistency. Notes: svn path=/head/; revision=232266
* Copy amd64 _stdint.h to x86 and merge with i386 _stdint.h. ReplaceTijl Coosemans2012-02-281-1/+1
| | | | | | | amd64/i386/pc98 _stdint.h with stubs. Notes: svn path=/head/; revision=232264
* Copy amd64 _limits.h to x86 and merge with i386 _limits.h. ReplaceTijl Coosemans2012-02-281-1/+1
| | | | | | | amd64/i386/pc98 _limits.h with stubs. Notes: svn path=/head/; revision=232262
* Copy amd64 _types.h to x86 and merge with i386 _types.h. Replace existingTijl Coosemans2012-02-281-1/+1
| | | | | | | amd64/i386/pc98 _types.h with stubs. Notes: svn path=/head/; revision=232261
* Move the scsi_da_bios_params() prototype from pc98_machdep.h to md_var.hMarius Strobl2011-11-271-3/+3
| | | | | | | | where the prototype for pc98_ata_disk_firmware_geom_adjust() also lives in order to avoid an #ifdef'ed include in cam(4). Notes: svn path=/head/; revision=228027
* Copy powerpc/include/_inttypes.h to x86 and replace i386/amd64/pc98Tijl Coosemans2011-01-081-1/+1
| | | | | | | | | headers with stubs. Approved by: kib (mentor) Notes: svn path=/head/; revision=217157
* Merge amd64 and i386 bus.h and move the resulting header to x86. ReplaceTijl Coosemans2010-12-201-2/+2
| | | | | | | | | | | | the original amd64 and i386 headers with stubs. Rename (AMD64|I386)_BUS_SPACE_* to X86_BUS_SPACE_* everywhere. Reviewed by: imp (previous version), jhb Approved by: kib (mentor) Notes: svn path=/head/; revision=216592
* Revert r216134. This checkin broke platforms where bus_space are macros:Rebecca Cran2010-12-031-9/+7
| | | | | | | | they need to be a single statement, and do { } while (0) doesn't work in this situation so revert until a solution can be devised. Notes: svn path=/head/; revision=216143
* Disallow passing in a count of zero bytes to the bus_space(9) functions.Rebecca Cran2010-12-021-7/+9
| | | | | | | | | | | | Passing a count of zero on i386 and amd64 for [I386|AMD64]_BUS_SPACE_MEM causes a crash/hang since the 'loop' instruction decrements the counter before checking if it's zero. PR: kern/80980 Discussed with: jhb Notes: svn path=/head/; revision=216134
* Include x86/_align.h directly instead of including the i386 header.Tijl Coosemans2010-11-261-26/+3
| | | | | | | Approved by: kib (mentor) Notes: svn path=/head/; revision=215863
* Move identical copies of apm_bios.h to sys/x86/include, replace them withJung-uk Kim2010-11-111-1/+1
| | | | | | | | | stubs, and adjust PC98 stub accordingly. Reviewed by: imp, nyan Notes: svn path=/head/; revision=215140
* - Remove <machine/mutex.h>. Most of the headers were empty, and theJohn Baldwin2010-11-091-6/+0
| | | | | | | | | | | | | | | contents of the ones that were not empty were stale and unused. - Now that <machine/mutex.h> no longer exists, there is no need to allow it to override various helper macros in <sys/mutex.h>. - Rename various helper macros for low-level operations on mutexes to live in the _mtx_* or __mtx_* namespaces. While here, change the names to more closely match the real API functions they are backing. - Drop support for including <sys/mutex.h> in assembly source files. Suggested by: bde (1, 2) Notes: svn path=/head/; revision=215054
* Move the mptable.h under x86/include/.Attilio Rao2010-11-091-6/+0
| | | | | | | | Sponsored by: Sandvine Incorporated MFC after: 14 days Notes: svn path=/head/; revision=215051
* Move <machine/apicreg.h> to <x86/apicreg.h>.John Baldwin2010-11-011-6/+0
| | | | Notes: svn path=/head/; revision=214631
* Move the <machine/mca.h> header to <x86/mca.h>.John Baldwin2010-11-011-6/+0
| | | | Notes: svn path=/head/; revision=214630
* Rename BUS_SPACE_IO and BUS_SPACE_MEM defines to BUS_SPACE_TAG_IO andYoshihiro Takahashi2010-10-311-2/+2
| | | | | | | BUS_SPACE_TAG_MEM respectively to avoid conflict with nexus.c. Notes: svn path=/head/; revision=214584
* Remove the support for int13 FPU exception reporting on i386. It isKonstantin Belousov2010-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) Notes: svn path=/head/; revision=209461
* Change ad_firmware_geom_adjust() to operate on a struct disk * only andMarius Strobl2010-05-201-6/+4
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=208349
* MFi386: Remove old file.Yoshihiro Takahashi2009-09-091-6/+0
| | | | Notes: svn path=/head/; revision=197026
* Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating anPoul-Henning Kamp2009-09-081-0/+29
| | | | | | | | architecture specific include file containing the _ALIGN* stuff which <sys/socket.h> needs. Notes: svn path=/head/; revision=196994
* Add stub vm.h for pc98.Yoshihiro Takahashi2009-06-271-0/+6
| | | | | | | Approved by: re (kensmith) Notes: svn path=/head/; revision=195089
* MFi386: revision 192050Yoshihiro Takahashi2009-05-141-0/+6
| | | | | | | Implement simple machine check support. Notes: svn path=/head/; revision=192106
* - Add the i386_memio_map_load() function to load I/O address table.Yoshihiro Takahashi2008-09-071-0/+22
| | | | | | | | - Add the bus_space_compare macro for bus_space consistency. - Switch using the bus_space_map_load() in isa_load_resourcev(). Notes: svn path=/head/; revision=182836
* Add i386_memio_compare() to compare two resources.Yoshihiro Takahashi2008-07-051-0/+9
| | | | | | | It's used by uart(4) in the future. Notes: svn path=/head/; revision=180303
* Remove obselete PECOFF image activator support.Wojciech A. Koszek2008-06-141-6/+0
| | | | | | | | | | | PRs assigned at the time of removal: kern/80742 Discussed on: freebsd-current (silence), IRC Tested by: make universe Approved by: cognet (mentor) Notes: svn path=/head/; revision=179785
* Remove my copyright. This file includes simply i386's one now.Yoshihiro Takahashi2008-04-191-29/+2
| | | | Notes: svn path=/head/; revision=178310
* The "free-lance" timer in the i8254 is only used for the speakerPoul-Henning Kamp2008-03-262-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | these days, so de-generalize the acquire_timer/release_timer api to just deal with speakers. The new (optional) MD functions are: timer_spkr_acquire() timer_spkr_release() and timer_spkr_setfreq() the last of which configures the timer to generate a tone of a given frequency, in Hz instead of 1/1193182th of seconds. Drop entirely timer2 on pc98, it is not used anywhere at all. Move sysbeep() to kern/tty_cons.c and use the timer_spkr*() if they exist, and do nothing otherwise. Remove prototypes and empty acquire-/release-timer() and sysbeep() functions from the non-beeping archs. This eliminate the need for the speaker driver to know about i8254frequency at all. In theory this makes the speaker driver MI, contingent on the timer_spkr_*() functions existing but the driver does not know this yet and still attaches to the ISA bus. Syscons is more tricky, in one function, sc_tone(), it knows the hz and things are just fine. In the other function, sc_bell() it seems to get the period from the KDMKTONE ioctl in terms if 1/1193182th second, so we hardcode the 1193182 and leave it at that. It's probably not important. Change a few other sysbeep() uses which obviously knew that the argument was in terms of i8254 frequency, and leave alone those that look like people thought sysbeep() took frequency in hertz. This eliminates the knowledge of i8254_freq from all but the actual clock.c code and the prof_machdep.c on amd64 and i386, where I think it would be smart to ask for help from the timecounters anyway [TBD]. Notes: svn path=/head/; revision=177642
* Add stub for pc98.Yoshihiro Takahashi2008-03-141-0/+6
| | | | Notes: svn path=/head/; revision=177163
* Catch up pc98 for i386 stack(9) changes:Robert Watson2007-12-031-0/+6
| | | | | | | | | | | Add stub stack.h for pc98 that includes i386 pc98. Add i386 stack_machdep.c to files.pc98. Spotted by: tinderbox Notes: svn path=/head/; revision=174216
* I4B header files were repo-copied from sys/i386/include/ toBjoern A. Zeeb2007-07-066-36/+0
| | | | | | | | | | | | | sys/i4b/include/ so they will be available to all architectures once I4B compiles on those. We no longer need these "glue" files. Reminded by: nyan Approved by: re (kensmith) Notes: svn path=/head/; revision=171276
* Add pc98 specific code to adjust the firmware geometry when it differsWarner Losh2006-08-091-0/+12
| | | | | | | | | | from the actual geometry. This enables support of disks larger than ~120GB on pc98 boxes. They make great little network appliances. I've been using these changes for the past year or so on my network storage pc98 box :-). Notes: svn path=/head/; revision=161129
* Send the pcvt(4) driver off to retirement.Poul-Henning Kamp2006-05-171-6/+0
| | | | Notes: svn path=/head/; revision=158687
* Add minidump.h for pc98.Yoshihiro Takahashi2006-04-211-0/+6
| | | | Notes: svn path=/head/; revision=157935
* By popular demand, move __HAVE_ACPI and __PCI_REROUTE_INTERRUPT intoWarner Losh2006-01-092-2/+2
| | | | | | | | | | | param.h. Per request, I've placed these just after the _NO_NAMESPACE_POLLUTION ifndef. I've not renamed anything yet, but may since we don't need the __. Submitted by: bde, jhb, scottl, many others. Notes: svn path=/head/; revision=154128
* Define __HAVE_ACPI and/or __PCI_REROUTE_INTERRUPT, as appropriate forWarner Losh2006-01-011-0/+2
| | | | | | | | each platform. These will be used in the pci code in preference to the complicated #ifdefs we have there now. Notes: svn path=/head/; revision=153955
* Switch MACHINE to "pc98" on FreeBSD/pc98.Yoshihiro Takahashi2005-12-081-2/+27
| | | | | | | | | Add copyright. Approved by: FreeBSD/pc98 development team. Notes: svn path=/head/; revision=153230