summaryrefslogtreecommitdiffstats
path: root/sys/pc98/include
Commit message (Collapse)AuthorAgeFilesLines
* Implement mechanism to export some kernel timekeeping data tokib2012-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
* Move the legacy(4) driver to x86.jhb2012-03-301-6/+0
|
* Copy amd64 sysarch.h to x86 and merge with i386 sysarch.h. Replacetijl2012-03-191-1/+1
| | | | amd64/i386/pc98 sysarch.h with stubs.
* Copy i386 specialreg.h to x86 and merge with amd64 specialreg.h. Replacetijl2012-03-191-1/+1
| | | | amd64/i386/pc98 specialreg.h with stubs.
* Copy i386 psl.h to x86 and replace amd64/i386/pc98 psl.h with stubs.tijl2012-03-191-1/+1
|
* Copy i386 reg.h to x86 and merge with amd64 reg.h. Replace i386/amd64/pc98tijl2012-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)
* Copy amd64 ptrace.h to x86 and merge with i386 ptrace.h. Replacetijl2012-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
* Copy amd64 trap.h to x86 and replace amd64/i386/pc98 trap.h with stubs.tijl2012-03-041-1/+1
|
* Copy amd64 float.h to x86 and merge with i386 float.h. Replacetijl2012-03-041-1/+1
| | | | amd64/i386/pc98 float.h with stubs.
* Copy amd64 stdarg.h to x86 and replace amd64/i386/pc98 stdarg.h with stubs.tijl2012-02-281-1/+1
|
* Copy amd64 setjmp.h to x86 and replace amd64/i386/pc98 setjmp.h with stubs.tijl2012-02-281-1/+1
|
* Copy amd64 endian.h to x86 and merge with i386 endian.h. Replacetijl2012-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.
* Copy amd64 _stdint.h to x86 and merge with i386 _stdint.h. Replacetijl2012-02-281-1/+1
| | | | amd64/i386/pc98 _stdint.h with stubs.
* Copy amd64 _limits.h to x86 and merge with i386 _limits.h. Replacetijl2012-02-281-1/+1
| | | | amd64/i386/pc98 _limits.h with stubs.
* Copy amd64 _types.h to x86 and merge with i386 _types.h. Replace existingtijl2012-02-281-1/+1
| | | | amd64/i386/pc98 _types.h with stubs.
* Move the scsi_da_bios_params() prototype from pc98_machdep.h to md_var.hmarius2011-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).
* Copy powerpc/include/_inttypes.h to x86 and replace i386/amd64/pc98tijl2011-01-081-1/+1
| | | | | | headers with stubs. Approved by: kib (mentor)
* Merge amd64 and i386 bus.h and move the resulting header to x86. Replacetijl2010-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)
* Revert r216134. This checkin broke platforms where bus_space are macros:brucec2010-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.
* Disallow passing in a count of zero bytes to the bus_space(9) functions.brucec2010-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
* Include x86/_align.h directly instead of including the i386 header.tijl2010-11-261-26/+3
| | | | Approved by: kib (mentor)
* Move identical copies of apm_bios.h to sys/x86/include, replace them withjkim2010-11-111-1/+1
| | | | | | stubs, and adjust PC98 stub accordingly. Reviewed by: imp, nyan
* - Remove <machine/mutex.h>. Most of the headers were empty, and thejhb2010-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)
* Move the mptable.h under x86/include/.attilio2010-11-091-6/+0
| | | | | Sponsored by: Sandvine Incorporated MFC after: 14 days
* Move <machine/apicreg.h> to <x86/apicreg.h>.jhb2010-11-011-6/+0
|
* Move the <machine/mca.h> header to <x86/mca.h>.jhb2010-11-011-6/+0
|
* Rename BUS_SPACE_IO and BUS_SPACE_MEM defines to BUS_SPACE_TAG_IO andnyan2010-10-311-2/+2
| | | | BUS_SPACE_TAG_MEM respectively to avoid conflict with nexus.c.
* 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)
* Change ad_firmware_geom_adjust() to operate on a struct disk * only andmarius2010-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
* 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.
* Add stub vm.h for pc98.nyan2009-06-271-0/+6
| | | | Approved by: re (kensmith)
* MFi386: revision 192050nyan2009-05-141-0/+6
| | | | Implement simple machine check support.
* - Add the i386_memio_map_load() function to load I/O address table.nyan2008-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().
* Add i386_memio_compare() to compare two resources.nyan2008-07-051-0/+9
| | | | It's used by uart(4) in the future.
* Remove obselete PECOFF image activator support.wkoszek2008-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)
* Remove my copyright. This file includes simply i386's one now.nyan2008-04-191-29/+2
|
* The "free-lance" timer in the i8254 is only used for the speakerphk2008-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].
* Add stub for pc98.nyan2008-03-141-0/+6
|
* Catch up pc98 for i386 stack(9) changes:rwatson2007-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
* I4B header files were repo-copied from sys/i386/include/ tobz2007-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)
* Add pc98 specific code to adjust the firmware geometry when it differsimp2006-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 :-).
* Send the pcvt(4) driver off to retirement.phk2006-05-171-6/+0
|
* Add minidump.h for pc98.nyan2006-04-211-0/+6
|
* By popular demand, move __HAVE_ACPI and __PCI_REROUTE_INTERRUPT intoimp2006-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.
* Define __HAVE_ACPI and/or __PCI_REROUTE_INTERRUPT, as appropriate forimp2006-01-011-0/+2
| | | | | each platform. These will be used in the pci code in preference to the complicated #ifdefs we have there now.
* Switch MACHINE to "pc98" on FreeBSD/pc98.nyan2005-12-081-2/+27
| | | | | | Add copyright. Approved by: FreeBSD/pc98 development team.
* Fix -Wundef warnings found when compiling i386 LINT, GENERIC andru2005-12-051-1/+1
| | | | custom kernels.
* Garbage collect machine/smptests.h now that it is empty and no longer used.jhb2005-11-221-6/+0
|
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386nyan2005-05-292-8/+0
| | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr)
OpenPOWER on IntegriCloud