Commit Graph

276 Commits

Author SHA1 Message Date
eeh c633b30dd4 Add some alternate spellings for ASIs.
Make sure ASI_PRIMARY_NOFAULT is always restored.
Garbage collect some old code.
2001-08-06 23:55:34 +00:00
eeh 830be13fa2 Dump some enums that make lint unhappy and we never really use anyway. 2001-07-31 06:55:46 +00:00
eeh 57b56da169 Garbage collect. 2001-07-24 19:32:11 +00:00
eeh 1fead733d9 PCI overhaul. 2001-07-20 00:07:12 +00:00
eeh 0c4549ab71 Don't bother flushing cache lines for un-cached accesses. 2001-07-19 23:47:37 +00:00
thorpej babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
eeh a2cda80fea Also handle FPU registers. 2001-07-07 15:16:13 +00:00
eeh 5df2260776 Add the shorter version of block ASIs used by Sun. 2001-06-29 23:56:05 +00:00
eeh 8009aa2033 Allow multiple 4MB pages for both kernel text and kernel data.
Note: DEBUG checks will not allow accesses to the hole between
text and data segments, so you may need to update programs that
use libkvm before relocating the start of kernel data.
2001-06-21 00:24:22 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
kleink 9e162d4ea5 Delint my previous change. 2001-05-12 22:42:07 +00:00
kleink 58a818769b * Fix remaining 32-bit vs. native pointer problems in data structures;
reviewed by Eduardo.
* Define the size of uc_pad, so ucontext32_t will have the correct size.
2001-05-11 17:37:14 +00:00
kleink 1d8e184b6b svr4_32_mcontext.gwin is a pointer 32 bits wide. 2001-05-11 16:49:22 +00:00
kleink e0b29e0491 Sync with native emul: rename sc_tstate to sc_psr. 2001-05-09 20:21:50 +00:00
kleink aec2bbb42f Sync sc_psr comments with reality. 2001-05-09 19:50:49 +00:00
kleink 7dbfdb5508 In the 32-bit ABI case:
* rename sigcontext.sc_tstate to sc_psr, since this is how it is known to
  the 32-bit API, and also used for;
* don't try to squeeze the tstate into it, just emulate the ICC bits.

Per discussion with Eduardo.
2001-05-09 19:46:22 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
kleink fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej 7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
kleink 40c8d08347 Oops, intptrs are always long integers. 2001-04-17 13:46:02 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
kleink 9133b51cd8 Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
lukem 20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
thorpej 2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
mrg 3125147a72 oops; make this build with a 32 bit compiler again. 2001-03-04 09:28:35 +00:00
mrg 23fecf2b24 clean up slightly; prepare to make this identical to sparc/frame.h. 2001-03-02 07:40:18 +00:00
mrg 3c31d4fccb clean up slightly. 2001-03-02 07:36:57 +00:00
mrg 7a1cb1dbc2 use pci_bus_devorder() and pci_dev_funcorder() 2001-03-02 06:34:06 +00:00
eeh 121d97c255 Somehow this didn't get checked in with the rest of the SVR4 64-bit fixes. 2001-02-22 22:08:06 +00:00
eeh b0e3d231c4 Define VM_MASUSER_ADDRESS32. 2001-02-16 16:00:29 +00:00
eeh d8405328df Add support for COMPAT_SVR4_32. 2001-02-11 00:39:37 +00:00
eeh 6e928d620b Add some new gunk Sun uses. 2001-02-11 00:18:49 +00:00
eeh 1ac34a6a98 A register is 64-bits unless we're emulating 32-bit. 2001-02-11 00:17:03 +00:00
eeh 945c9cac5f Increase limits slightly. We're still not using all 32 address bits yet,
let alone 64.....
2001-02-11 00:09:45 +00:00
eeh 1671aa6706 Increase NKMEMPAGES to a more useful value. 2001-02-11 00:07:10 +00:00
eeh 3e47436b79 Add some extra fields to a dmamap to track what's being mapped. 2001-02-11 00:05:47 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej 45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00