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