Commit Graph

300 Commits

Author SHA1 Message Date
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
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
eeh
7ec33e899f Get kernel profiling to work. Now if only gprof worked.... 2000-08-02 22:24:38 +00:00
eeh
57d2ec0b98 Overhaul cache flush code and coredump code. 2000-08-01 00:40:15 +00:00
eeh
07fc19421d Pull in <machine/frame.h> to define BIAS and CC64FSZ. 2000-08-01 00:25:02 +00:00
mycroft
2f39009bda Fix multiple problems with floating point and structure handling. 2000-07-23 21:36:56 +00:00
eeh
999ba2b285 Give 64-bit processes access to a full 64-bit address space (90% of which
they can't use anyway, but that's another issue.)
2000-07-23 07:02:19 +00:00
eeh
526bc1de59 Include <machine/frame.h> to get the definition of BIAS and CC64FSZ. 2000-07-23 06:57:55 +00:00
mrg
46a7cab70a make this usable for for userland asm, which needs CC64FSZ 2000-07-23 06:15:33 +00:00
eeh
067b7521b5 Fix PIC bugs. 2000-07-18 22:38:11 +00:00
eeh
3143adecfb Tell gcc that stores clobber "memory". Probably makes no difference since
they should not be used to access normal memory anyway.
2000-07-14 21:02:11 +00:00
eeh
41da794863 Make all the inline functions static. 2000-07-14 21:00:17 +00:00
eeh
7b6085ff22 Add support for 64-bit PIC and dynamic linking. 2000-07-14 20:59:07 +00:00
mrg
81ec8bef47 remove old (bogus) comment. 2000-07-13 06:23:07 +00:00
eeh
ec71379542 Use TSO memory model for 32-bit userland. 2000-07-09 22:02:32 +00:00
eeh
e5cd515b89 Upgrate interrupt handling:
1) use interrupt vectors for specific zs chips rather than polling
	   all of them.

	2) use softintr_schedule() and schedule it for a particular device
	   rather than poll all devices.
2000-07-09 21:58:43 +00:00
pk
406e0f779f Add a `device class' interrupt level argument (from machine/intr.h)
to bus_interrupt_establish().

It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI slots.
2000-07-09 20:57:41 +00:00
eeh
5a7cb20576 gdb requires a `struct fpstate' so provide one. 2000-07-08 19:25:14 +00:00
eeh
3f2289a3d7 Handle bus_dma aligment properly. 2000-07-07 02:50:19 +00:00
eeh
968524445a Prevent interrupts from being posted if they are active and deprecate polled
interrupts.  This seems to eliminate the spurious interrupts.
2000-07-03 17:56:06 +00:00
eeh
f504adf782 Clean up interrupt handling some more. 2000-07-02 16:13:21 +00:00
eeh
707e41f21e Fix interrupt delivery on UltraSPARC IIi machines. 2000-06-30 22:58:01 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
eeh
ff9280f4ee This seems to fix the problem in __semctl13.c without breaking anyghing else. 2000-06-29 20:15:24 +00:00
pk
8906c1b836 Fix bus_space_read_region_{2,4,8}(). 2000-06-29 14:10:16 +00:00
mrg
4d14e81c0b remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:37:53 +00:00
kleink
d82c31e07e Typo. 2000-06-27 08:43:02 +00:00
kleink
bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink
47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
eeh
7e7c0311e4 Advertise we have __GENERIC_SOFT_INTERRUPTS. 2000-06-26 15:13:26 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
eeh
6c5d2dbbac With these changes the kernel seems almost stable again. 2000-06-24 20:48:36 +00:00
eeh
85cab8fe27 More VM cleanup:
Move the cpu_info structure above the interrupt stack so it won't
	get corrupted if the stack overflows.

	Flush the D$ before and after all MMU bypass accesses since the
	D$ latches all of those.
2000-06-24 04:38:20 +00:00
eeh
0db2dfd53f Make these interrupt levels reflect reality a bit better. 2000-06-24 04:25:08 +00:00
eeh
be308420d4 Get rid of vaddrs.h. 2000-06-24 04:20:58 +00:00
kleink
133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
eeh
75eaa6ba70 lda is unsigned, ldswa is signed. Fixes a 32-bit sign extension bug. 2000-06-20 18:06:12 +00:00
eeh
245619bad4 Have separate data and text segments, make text read-only. 2000-06-19 23:30:32 +00:00
eeh
3517559eb5 Missing paren. 2000-06-13 05:04:05 +00:00
eeh
fb0404cc75 Start reorganizing the kernel for MULTIPROCESSOR support. 2000-06-12 23:32:46 +00:00
eeh
3dfb9ee7ac More debugging support. 2000-06-12 23:20:54 +00:00
mrg
fdfb59b4b9 ih_map & ih_clr are volatile. 2000-06-12 05:29:43 +00:00
eeh
d26027dd5b Only use 32-bit addresses for all accesses that don't bypass the MMU.
Makes SBus work again.
2000-06-10 20:51:43 +00:00
eeh
6baca0c1ad Fixup signed/unsigned issues so 32-bit addresses are not sign extended. 2000-06-08 17:43:24 +00:00