Commit Graph

735 Commits

Author SHA1 Message Date
thorpej
2db4da1742 Fix some register constraints; specifically, the "port" operand,
if not an immediate, must be in a 16-bit register.
2001-12-28 06:42:40 +00:00
christos
e59d5895b1 add a new function to the cpu struct's that can be called to print extra
cpu information after initialization.
2001-12-27 15:24:34 +00:00
thorpej
030d89cdf0 Use ANSI declarations for static inline functions, and give them
the __unused__ attribute.
2001-12-23 23:08:41 +00:00
jdolecek
845a3d15d2 rename (incorrect) SVR4_TRAP_CLOCK_SETTIME to SVR4_TRAP_GETHRESTIME - this
is what Solaris8 calls it
implement SVR4_TRAP_GETHRESTIME, though obviously only with microsecond accuracy

now clock_gettime(CLOCK_REALTIME, tp) works on Solaris8/i386
2001-12-21 07:02:23 +00:00
yamt
7ae83a7557 use #define<TAB> style.
pointed by enami.
2001-12-18 15:21:13 +00:00
fvdl
e922d091ba Prevent gcc from reordering things such that instructions may fall out
of a range which is protected by spl/splx. Originally proposed by
YAMAMOTO Takashi (yamt@netbsd.org) on tech-kern. This change mirrors
the one done by Bill Sommerfeld on the i386 mp branch.
2001-12-18 10:12:28 +00:00
thorpej
51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
sommerfeld
39424268c6 Use #if defined(FOO_CPU) instead of #if FOO_CPU just to be picky.
Spotted by Thomas Klausner.
2001-12-06 01:56:19 +00:00
thorpej
03efee5585 * Allow machine-dependent code to specify hooks for ptrace(2)
(__HAVE_PTRACE_MACHDEP) and procfs (__HAVE_PROCFS_MACHDEP).
  These changes will allow platforms like x86 (XMM) and PowerPC
  (AltiVec) to export extended register sets in a sane manner.

* Use __HAVE_PTRACE_MACHDEP to export x86 XMM registers (standard
  FP + SSE/SSE2) using PT_{GET,SET}XMMREGS (in the machdep
  ptrace request space).
* Use __HAVE_PROCFS_MACHDEP to export x86 XMM registers via
  /proc/N/xmmregs in procfs.
2001-12-05 00:58:05 +00:00
jdolecek
492b500611 Add couple hooks, needed primarily for NCR 53C90 MCA card driver:
* add flag to explicitly specify if the DMA should be done as 16bit or 8bit
* add flag to specify the DMA should happen via I/O port
* add new function mca_dma_set_ioport(), to set I/O port to be used for the
  DMA operation

Also clarify copyright (welcome to 2001 :), and couple other minor nits
2001-12-02 17:02:33 +00:00
enami
a0ae8adf89 Declare some asm statement with output as volatile. Without this,
gcc with -march=pentiumpro produce bad code.
2001-11-30 06:53:56 +00:00
lukem
efc46c2fb9 minor knf 2001-11-29 02:46:55 +00:00
jdolecek
851fb345aa add mca_dmamap_create() prototype for MI code 2001-11-23 22:29:16 +00:00
christos
e36e7f175a Add transmeta crusoe cpu support from toshi. 2001-11-17 08:21:43 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
perry
9f8afd5252 Make the type of ports in the in*()/out*() routines u_long instead of
int. Massively reduced kernel lint, causes no harm. Discussed
extensively with christos and thorpej.
2001-11-13 03:27:50 +00:00
perry
2cff38a9ba trivially rename some macro parameters to avoid lint warnings. 2001-11-10 22:21:00 +00:00
yamt
4475186a1d correct comment. 2001-11-07 10:52:08 +00:00
lukem
3343f31154 explicitly pull in sys/types.h 2001-11-03 06:22:54 +00:00
lukem
153d16f7b1 replace __byte_swap_long_variable and __byte_swap_word_variable
#define ({ })  with  static __inline { }
2001-11-02 05:17:59 +00:00
jdolecek
6cb3157ebe Add defines for the rest of fasttraps as defined on Solaris8/i386. For
documentation purposes only (though CLOCK_SETTIME a.k.a T_GETHRESTIME
shouldn't be too hard to implement).
2001-10-31 18:20:13 +00:00
thorpej
e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
jdolecek
5d461f21ee Update freebsd_sigcontext to what FreeBSD currently uses, and save/restore
%fs/%gs as appropriate.

XXX Note that the new sigcontext uses the new sigset_t instead of old
int sc_mask. The new FreeBSD sigcontext doesn't contain any backward
compatibility sc_mask, so basically old FreeBSD application making
use of sigcontext are hosed. This can't be fixed in NetBSD compat code.
2001-10-27 12:26:29 +00:00
fvdl
cbc00e701a Until early last year, the i386 port had 256M of kvm, and the max.
amount of kvm used for buffers was set at 70%, some 188M. Then
the total amount of kvm became 1G, and the amount for buffers
thus became some 716M. This is really too much, and some
device drivers want to map quite a bit of kvm these days.

So, cap it at 384M, which gives each buffer a little over 8k (the
default FFS blocksize) physical in an 1G physram configuration.
2001-10-20 00:17:47 +00:00
thorpej
3d5c31f282 Bah, fix typo that crept in (tank you vi(1)). 2001-09-28 01:50:04 +00:00
thorpej
abd2c67167 Machine-dependent ACPI CA Osd routines for i386. 2001-09-28 01:46:56 +00:00
jdolecek
f5599abc0a fix typo 2001-09-23 19:59:19 +00:00
simonb
808d23f484 {,u}intptr_t are longs; adjust printf/scanf formats. 2001-09-19 05:23:43 +00:00
thorpej
3792a5d8c5 Add code to frob the MTRR-like registers on the AMD K6-2
and AMD K6-III.
2001-09-19 01:26:18 +00:00
thorpej
d941f3b164 Define UWCCR bits for the AMD K6 (these are its MTRR-like registers). 2001-09-19 00:31:21 +00:00
thorpej
f0d792297e Define the AMD K6 cache/write-combinding control register MSR. 2001-09-19 00:30:11 +00:00
jmc
9185cf1b34 Add mtrr.h to INCS list to get installed on a make includes 2001-09-12 04:44:21 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fvdl
78742dd0e0 Add flag to indicate that a process set some mtrrs that need to be
cleaned up automatically on exit.
2001-09-10 10:11:21 +00:00
fvdl
c823d05ca0 Add definitions for mtrr syscalls. 2001-09-10 10:10:57 +00:00
fvdl
e0a68652a8 MTRR include file, based on the one by Bill Sommerfeld from the i386 mp
branch.
2001-09-10 10:10:33 +00:00
perry
edea1a2c17 Make it possible to query each battery individually by making the
APM_IOC_GETPOWER ioctl read/write. Setting the batteryid in the passed
structure returns the data for just that battery. The old ioctl
remains for binary compatibility but has been renamed.

Itojun already did the hard work -- I just added a couple of lines.

reviewed by: thorpej
2001-09-10 05:23:30 +00:00
thorpej
47920741b0 Implement bus_space_mmap(). 2001-09-04 02:37:08 +00:00
chs
9fa41ab3b9 use cli/sti instead of splhigh/splx for MCOUNT_ENTER/MCOUNT_EXIT.
this makes clearer how much time mcount() is really taking.
2001-08-23 06:17:00 +00:00
chs
7c661278ee update some comments. 2001-08-12 00:20:32 +00:00
thorpej
518ad20222 Upon further reading of the manual, don't save the MXCSR-at-last-exception.
Its status bits are sticky, and unaffacted by FNINIT.
2001-08-03 01:46:08 +00:00
thorpej
099e93139b In setregs(), initialize the process's MXCSR to the reset-default
value as documented in the IA-32 Instruction Set Reference (in the
description of the LDMXCSR insn).
2001-08-03 01:24:39 +00:00
thorpej
f72ee0a9c6 Remember the MXCSR at last-exception the way we do the FPU SW/TW. 2001-08-03 01:11:49 +00:00
groo
3f5acd41c2 Remove trailing "U" on KERNBASE introduced in last commit.
Breaks assembly of locore.
2001-08-03 01:03:10 +00:00
thorpej
6e331fdd9f Define KERNTEXTOFF in terms of KERNBASE. 2001-08-03 00:47:59 +00:00
thorpej
f0449fd933 - Rename cpu_use_fxsave to i386_use_fxsave.
- If we detect SSE/SSE2 support in the CPU, enable SSE exceptions
  and set i386_has_{sse,sse2} as appropriate.
- Expose i386_use_fxsave and i386_has_{sse,sse2} through sysctl
  as machdep.{osfsxr,sse,sse2}.
2001-08-02 22:04:28 +00:00
thorpej
99a7f640fe Add support for saving/restoring SSE/SSE2 state using FXSAVE/FXRSTOR.
Reviewed by Frank.
2001-08-02 21:04:43 +00:00
thorpej
4b584bf5bb Add several more Intel cache info entries, and fetch the CFLUSH
line size if we have the CFLUSH insn.
2001-08-01 19:50:48 +00:00
thorpej
ebbd9cd428 Add some more CPUID feature bits. 2001-08-01 18:47:38 +00:00
thorpej
c43f8649d2 Set up function pointers for copyin/copyout in preparation for
adding optimized versions for various CPU classes/models.

Split the 386 version of copyout into a separate routine, and
add a 486 version that doesn't have the class/page-writeability
check.
2001-07-31 18:28:58 +00:00