Commit Graph

243 Commits

Author SHA1 Message Date
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
takemura
c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
eeh
3ec59504f9 Lower PIL_SCHED below the zs interrupt so we don't get silo overflows. 2000-12-29 18:37:05 +00:00
eeh
a5ecd862b1 Fix some 32-bit assembly code. 2000-12-29 17:13:33 +00:00
eeh
d8887bd0ea 64-bit address values should be unsigned. 2000-12-29 17:12:05 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
itojun
efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
itojun
823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
mrg
dd2f1cdf71 - rename 32bit USRSTACK32, and define USRSTACK to that if !__arch64__, so that
64bit code can see USRSTACK32
- bump the limits
2000-12-18 14:48:26 +00:00
fvdl
2c81c82473 Comment out caxsa, it's not used. Avoids 32 bit compile errors. 2000-12-04 20:14:05 +00:00
mrg
247f2c42d7 Remove __BROKEN_CONFIG_UNIT_USAGE. (sync with sparc) 2000-12-04 09:56:56 +00:00
mrg
ac9988aef0 remove duplicate function prototypes. 2000-12-04 01:39:04 +00:00
fvdl
a21f36eeb2 Make softintr_establish prototype match other ports, avoiding compile
warnings.
2000-12-03 14:49:50 +00:00
mrg
a2ea64e265 sync with sparc port. add support for OF_setprop(), OF_nextprop(),
OF_interpret() and OF_milliseconds().
2000-11-18 23:43:06 +00:00
mrg
40095eb6a1 struct pcb's lastcall is const char * 2000-11-18 03:51:14 +00:00
eeh
71b0c155a0 Support for MI console magic framework. 2000-11-08 23:41:42 +00:00
eeh
400b7c8ee0 Add pmap_growkernel(). 2000-10-29 23:30:35 +00:00
mrg
cb17e80035 fix a comment. 2000-10-20 05:47:03 +00:00
eeh
8e5075103f This seems to fix the interrupt lossage of non-debug kernels. 2000-09-29 17:02:38 +00:00
eeh
5c98160d2b Separate user and kernel address spaces and move the kernel down to
0x0000000001000000 -- 0x00000000f0000000, below the PROM where the
PROM thinks we should be.
2000-09-28 19:56:13 +00:00
eeh
1090c8a9cf probeget() actually handles 64-bit values so fix the prototype. 2000-09-28 19:16:35 +00:00
eeh
ece5d6d3f0 Define __BUS_SPACE_HAS_STREAM_METHODS now we have them. 2000-09-22 21:01:55 +00:00
eeh
57ebc2eb53 Remove some unsupported devices and add support for the `com' device. 2000-09-21 23:46:49 +00:00
eeh
903720d945 Add bus_space*stream*() methods. I hope they work. 2000-09-16 14:07:58 +00:00
eeh
870af94ef7 Add locking to pmap operations and support multiple physical memory segments. 2000-09-11 23:27:22 +00:00
eeh
65f1bb68b5 Add support for multiple memory segments. 2000-08-31 19:12:45 +00:00
eeh
a17d71cd4b Fix register sheduling bug in st?a() routines and add casxa(). 2000-08-31 19:08:47 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
eeh
5ca48b896d Update the scheduler to the new locking scheme. 2000-08-23 21:35:56 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
mrg
286b5c3fbf backout previous; unintentional. 2000-08-16 08:21:52 +00:00
mrg
ecd972e9cb include the sparc loadfile_machdep.h as-is; we can blow this header away
completely later.
2000-08-16 08:17:49 +00:00
tshiozak
51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00