tv
91537bce4a
sizeof(fmtstring) + 8 wasn't enough for the string; that won't cope with the
...
printed version. Make a little more room for the bitmask_snprintf() call.
2000-08-08 19:59:41 +00:00
tv
0b7e5ad5a0
%b -> bitmask_snprintf()
2000-08-07 18:46:30 +00:00
mrg
44b648a013
make "make depend" work.
2000-08-07 13:50:55 +00:00
nathanw
e8b50cf289
Use the same idiom for iterating over allproc as everywhere else in the kernel.
2000-08-02 22:47:44 +00:00
eeh
7abe1d5edf
Garbage collection.
2000-08-02 22:26:35 +00:00
eeh
345d748512
PDB_BOOT and PDB_BOOT1 should not be the same value.
2000-08-02 22:25:45 +00:00
eeh
7ec33e899f
Get kernel profiling to work. Now if only gprof worked....
2000-08-02 22:24:38 +00:00
eeh
dfe3516515
Include NONPLUS and just set the extras we need for 64-bit kernels.
2000-08-02 02:23:58 +00:00
eeh
a8cd48f9e6
`mem' is now a pointer, not an array. Fixes kernel coredumps.
2000-08-01 16:49:47 +00:00
eeh
57d2ec0b98
Overhaul cache flush code and coredump code.
2000-08-01 00:40:15 +00:00
eeh
568dca001c
Cleanup trapstate handling and garbage collect old stuff.
2000-08-01 00:36:05 +00:00
eeh
e5a87444c7
Cleanup trapframe and TSTATE handling.
2000-08-01 00:34:13 +00:00
eeh
6f9bfddd60
Add UVM_PAGEIDLE_ZERO.
2000-08-01 00:31:15 +00:00
eeh
cacbbd1117
Garbage collection.
2000-08-01 00:28:55 +00:00
eeh
d09c8ea0f1
Revamp cache flush routines.
2000-08-01 00:28:02 +00:00
eeh
07fc19421d
Pull in <machine/frame.h> to define BIAS and CC64FSZ.
2000-08-01 00:25:02 +00:00
eeh
aeb88321db
Call the parent bus dvmamap_unload function to clear the cache rather
...
than do it ourselves.
2000-08-01 00:22:41 +00:00
eeh
ede765839e
Look for fpu files in the sparc subdirectory where they now reside.
2000-07-31 22:17:05 +00:00
mrg
978acd5367
sync with GENERIC32; enable rnd
2000-07-31 13:21:45 +00:00
mrg
ec14782383
hardcode onboard "hme" to "hme0"
2000-07-31 13:16:24 +00:00
mrg
b5ce82b4a0
define BDPRINTF in the !DEBUG case to nothing. PR#10688.
2000-07-31 05:40:22 +00:00
jdolecek
e25636b5da
g/c RB_DFLTROOT
...
I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
2000-07-29 20:06:27 +00:00
eeh
fe3f6176b4
Make 64-bit stack traces look prettier.
2000-07-28 19:10:33 +00:00
eeh
652a74ef51
Don't dump if there's no address space reserved for it.
2000-07-28 19:08:25 +00:00
mrg
256fc99a68
include the 32-bit kernel, not myself
2000-07-27 14:39:50 +00:00
mrg
8b5a1a1dea
do the 32 bit / 64 bit name swap, as per GENERIC.
2000-07-27 14:38:45 +00:00
mrg
cc41b6af8f
remove COMPAT_AOUT option.
2000-07-27 14:34:06 +00:00
mrg
a254dae933
ebus sc_is is a pointer now, already.
2000-07-27 14:17:10 +00:00
mrg
dea4c479f5
intr_list_handler() should only take one argument. it ignored the 2nd anyway.
2000-07-27 14:13:50 +00:00
mrg
556a915306
add commented LOCKDEBUG
2000-07-27 14:10:25 +00:00
mrg
2726e45533
fix warnings.
2000-07-27 13:59:26 +00:00
mrg
270fd5cc55
delete unused variable.
2000-07-27 13:58:54 +00:00
mrg
eafc0ade2d
fix warnings.
2000-07-27 13:57:23 +00:00
pk
2079f86890
On-board devices on psycho machines seem to have the `interrupt' property
...
in the parent bus format (i.e. an INO) rather than being represented as
an PCI interrupt line. Provide a hack to work around this in pci_attach_hook().
2000-07-26 17:46:56 +00:00
pk
e668bc0310
Use the mk48txx driver for time-of-day clock access.
2000-07-26 13:39:36 +00:00
pk
785d8d91b9
Remove unused <sys/dev/ic/intersil7170.h>
...
Remove unused `extern struct idprom idprom'
Pull in <dev/clock_subr.h>
2000-07-26 12:39:20 +00:00
mycroft
11142830f9
Switch back to newvers_stand.sh. Dunno why it bombed the first time.
2000-07-25 21:53:55 +00:00
mycroft
714a495a4a
Duh, hp300 -> sparc64.
2000-07-25 20:48:19 +00:00
mycroft
234b20f27c
Put back missing newvers.sh.
2000-07-25 20:47:44 +00:00
mrg
219910d2e6
add disabled LOCKDEBUG; re-enable all the phy drivers
2000-07-25 17:26:36 +00:00
pk
320361c474
Re-instate a couple of delay slot NOPs marked `XXX spitfire bug?'
2000-07-25 15:15:32 +00:00
mycroft
b77782d785
Optimization to pmap_zero_page(): we only need to use the first 16 FP regs,
...
as in bzero().
2000-07-24 16:21:02 +00:00
mycroft
fe9795a1e5
Fix a whitespace glitch.
2000-07-24 16:08:18 +00:00
mycroft
a0ae8e1ecb
Pull in the bzero() changes from libc for real, with a couple of kernel-
...
specific hacks:
* Make the bias handling depend on STKB, so it switches correctly for 32-bit
kernels.
* Use the 32-bit stw/ld for 32-bit kernels.
* Add a few `-STKB's that were missed in the previous change.
2000-07-24 15:57:07 +00:00
pk
98127a7ee3
Cosmetic & readability:
...
- local label cleanup in interrupt handling code;
- in debugging sections when testing `intrdebug': use a unique
local label (97) to enhanced clarity;
- comment-out unused code;
- kill a bug as the satisfying result of doing all of the above.
2000-07-24 14:55:56 +00:00
pk
1045aba51d
Define UVM_PAGE_IDLE_ZERO.
2000-07-24 09:14:56 +00:00
eeh
2933116823
Fix stack issues in bzero.
2000-07-24 07:40:40 +00:00
mycroft
2f13e00500
Revert the previous change for now. I don't have time to debug it tonight.
2000-07-24 06:30:34 +00:00
mycroft
ac182d9c19
Er, eliminate the -p link option as well, which just outputs huge amounts
...
of spooge.
2000-07-24 04:54:16 +00:00
mycroft
711ffefeac
Nuke lderr.
2000-07-24 04:45:49 +00:00
mycroft
0c2ad746ea
Slight rearrangement.
2000-07-24 04:39:01 +00:00
mycroft
b65d3e93c9
Make this a bit safer against errors by using some .tmp files.
2000-07-24 02:00:39 +00:00
mycroft
62fe935649
Give this a prayer of working with obj dirs.
2000-07-24 01:55:59 +00:00
mycroft
8de9ab874b
Make this at least pretend to compile.
2000-07-24 01:51:44 +00:00
mycroft
51b68e1fdd
Fix compiler warnings.
2000-07-24 01:49:37 +00:00
mycroft
2f39009bda
Fix multiple problems with floating point and structure handling.
2000-07-23 21:36:56 +00:00
mycroft
acbf46fbf4
Copy bzero change from libc.
2000-07-23 20:39:14 +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
jdolecek
01d7296690
switch to sys/conf/newvers_stand.sh for generation of version file
...
slighly adjust the Makefile WRT vers.c and SRCS & CLEANFILES
sync the message in boot/version with other ports using newvers_stand.sh
2000-07-21 22:06:11 +00:00
eeh
263f73d7f4
Now we're running 64-bit userland don't panic the system if a process steps
...
into the address space hole.
2000-07-20 23:29:50 +00:00
eeh
0a25b480c6
Clean up disassembly of sparc v9 insns and handling of negative values.
2000-07-20 20:43:21 +00:00
pk
4badffe2c1
For now, alias network' to
hme'.
2000-07-20 16:29:03 +00:00
pk
71169064c4
Since `intrcnt' points to an array of long ints, reserve the appropriate
...
amount of space depending on _LP64. Provide macros to load/store signed
and unsigned long ints.
Also, make the `intrcnt' and `intrpending' arrays 16 entries long, as on
sparc/v9 interrupt #15 is just a regular interrupt.
2000-07-20 13:28:39 +00:00
eeh
6996dd8691
Fix merge problem.
2000-07-19 15:48:25 +00:00
eeh
25f8633edd
Add an option to poll the ROM console from hardclock you can break into DDB
...
even if callouts are disabled.
2000-07-19 15:41:53 +00:00
mrg
e3fc09812a
make myetheraddr() work even if the clock hasn't been setup yet
2000-07-19 10:20:09 +00:00
eeh
422e1b7236
Disable interrupt interlock using ih->ih_pending field. Seems to cause
...
more problems than it solves.
2000-07-19 04:36:42 +00:00
eeh
625dc5189f
Miscellaneous cleanup.
2000-07-19 03:24:07 +00:00
eeh
067b7521b5
Fix PIC bugs.
2000-07-18 22:38:11 +00:00
pk
59a7148fe9
address casts: long -> u_long
2000-07-18 20:19:56 +00:00
pk
db76bf893e
Cast pointer to u_long' (not
long') for correct results.
2000-07-18 20:15:36 +00:00
pk
602e908589
Correct args usage comment in probeget.
...
Whitespace cleanup.
2000-07-18 20:14:45 +00:00
pk
1d14ce3842
probeget: 9 -> 0x9
2000-07-18 19:27:57 +00:00
pk
c0e91fb184
If `ih_pending' is set simply return from the trap, don't schedule another
...
soft interrupt.
2000-07-18 19:25:26 +00:00
pk
a49fddc9b3
openfirmware: don't lower %pil
2000-07-18 12:52:56 +00:00
pk
34270e85bd
Use probeget() in pci_config_read() for the psycho, to avoid bus
...
faults when probing PCI space.
2000-07-18 11:37:31 +00:00
pk
073e24cd1b
Set up register bank sharing bwteen psycho A & B based on matching
...
physical addresses. Allocate IOMMU state separately and refer to it
from both psycho_softc's.
2000-07-18 11:35:03 +00:00
mrg
faaa100d6e
#if 0 some dumpsys() debugging messages
2000-07-18 05:18:35 +00:00
mrg
d2626038cd
kill dead files.
2000-07-18 04:21:17 +00:00
mrg
040268c10e
s/auxreg/auxio/
2000-07-18 04:17:23 +00:00
pk
1d1b0968f1
IF we're changing hz, change tick accordingly too.
2000-07-17 18:32:25 +00:00
pk
ec726f07ca
Kill typos in interrupt code.
2000-07-17 17:06:00 +00:00
pk
966115ff9e
probeget: do the same song and dance as ld*a() macros in ctlreg.h do.
2000-07-17 14:08:43 +00:00
eeh
eb5863f522
#ifdef BOOT_DEBUG --> BDPRINTF(PDB_BOOT, (...))
2000-07-15 14:26:39 +00:00
eeh
4eacbabe76
Make 64-bit stack tracebacks look decent.
2000-07-14 21:07:10 +00:00
eeh
6667752114
Move some macro definitions out of genassym and into locore.s
2000-07-14 21:04:16 +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
pk
9de310aebe
Use per-PBM control/status register addresses provided by the PROM.
...
Print version/implementation info.
2000-07-14 15:13:35 +00:00
pk
04fe9636ba
Provide details on the `psy_csr' register.
2000-07-14 15:09:51 +00:00
pk
8258c0e780
Fix padding in struct pci_ctl.
2000-07-14 13:17:12 +00:00
pk
e5a9cce870
Cast physmem to u_int64_t before applying ctob().
2000-07-14 13:15:44 +00:00
pk
68edef1bf6
Back out previous for now; it requires a system wide prototype change.
2000-07-14 09:58:52 +00:00
pk
c32ffb8447
Make physmem' an
unsigned int', so it can properly represent large memory
...
configurations.
2000-07-14 00:02:35 +00:00
pk
9da8631e2b
printf() format for 64-bit integers tf_pc' and
tf_npc'.
2000-07-13 16:44:03 +00:00
mrg
c0f74e1bda
remove memreg.h.
2000-07-13 06:30:16 +00:00
mrg
22820972ac
remove vaddrs.h
2000-07-13 06:25:55 +00:00
mrg
81ec8bef47
remove old (bogus) comment.
2000-07-13 06:23:07 +00:00
mrg
d5a1bec37e
bump some system values.
2000-07-13 05:40:51 +00:00
pk
7e8f67ad97
No need to fetch the psycho's own registers as thet are already passed
...
down from the parent bus. Also account for the difference in `reg'
properties in psycho vs sabre chips.
2000-07-12 21:49:44 +00:00
pk
f56554a578
If there is no "interrupt-map" property on the ebus node, assume the
...
child "interrupt" properties are already in a format suitable for
the parent bus.
2000-07-12 21:07:36 +00:00
eeh
1f45545899
Add UltraSPARC III specific flag bit. Currently ignored.
2000-07-11 21:55:11 +00:00
eeh
f10d7699fc
Break into debugger by typing `+++++',
2000-07-10 20:24:23 +00:00
eeh
7403ef3d00
Need to include <sys/exec_elf.h> to make things happy. So much for adding
...
dead code.
2000-07-10 01:15:17 +00:00
eeh
048f1387db
Function signature for bus_intr_establish() changed.
2000-07-10 01:11:14 +00:00
eeh
1cfb5e6456
Grab and use the memory model info from the flags in the ELF header.
2000-07-09 22:39:17 +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
eeh
f43ab74a43
Shuffle around some fields to waste less space on LP64.
2000-07-09 21:55:24 +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
mrg
152f5c5f28
remove unused variable.
2000-07-09 13:35:54 +00:00
eeh
5a7cb20576
gdb requires a `struct fpstate' so provide one.
2000-07-08 19:25:14 +00:00
mrg
065b56c096
backout part of previous: turn off intrdebug, and another debug message
2000-07-08 05:04:01 +00:00
pk
2c1dc518bd
Changes for readability:
...
- #define LP64 dependent STACKFRAME macro once
- use a LOAD_ASCIZ macro for setting up the format string
for debug messages.
2000-07-07 23:28:28 +00:00
eeh
468c727a28
Temporary fix to prevent the clock from stopping on UIIi machines.
2000-07-07 19:59:36 +00:00
eeh
14b1b05f10
Rename GENERIC to GENERIC32 and GENERIC64 to GENERIC to allow snapshots to
...
build properly.
2000-07-07 19:11:56 +00:00
mrg
2b69bc2115
BUFCACHE=20
2000-07-07 14:22:57 +00:00
mrg
b91804af6c
split up debug flags so i can turn off some of them
2000-07-07 13:10:34 +00:00
pk
cacf690261
Try both the BOOTPARAM and DHCP protocol (in that order as is the custom
...
with Sun machines).
2000-07-07 12:59:16 +00:00
mrg
4b21f66d57
work around a bug passing arguments to iommu_dvma_load_raw()
2000-07-07 12:53:29 +00:00
mrg
c0f4ea2a12
check that this *entry* is BUSCLASS_NONE (not the current device) in
...
bus_compatible(). fixes boot device detection on sbus. while i'm here,
sprinkle DPRINTF()s in the boot device detection code.
2000-07-07 12:44:47 +00:00
mrg
9a6c45e283
options BUFCACHE=20, plus a 64 bit config.
2000-07-07 08:44:16 +00:00
eeh
3f2289a3d7
Handle bus_dma aligment properly.
2000-07-07 02:50:19 +00:00
eeh
6a1f10a7d5
Added two new options to the bootblock: -V turns on verbose mode and -D
...
makes it load but not execute. If fcode-debug? is enabled in the firmware
an arbitrary file can then be loaded with:
ok " <path>" do-boot
2000-07-06 17:15:07 +00:00
eeh
63d57aa16a
Fixup counter-timer interrupt lossage.
2000-07-06 14:13:05 +00:00
pk
f6d8b8e963
We want to index the PCI `interrupt clear' registers with the Interrupt
...
Number Offset. (this stuff needs a serious cleanup).
2000-07-05 12:11:59 +00:00
sommerfeld
502fc00210
Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
...
broken/fragile. Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it. See kern/10500, kern/8994 for the gory details.
2000-07-05 04:07:22 +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
58c36586cd
Use the same IPLs as everyone else.
2000-07-03 17:42:37 +00:00
mrg
16fd30ec1d
- add a bus class check to the conversion of prom names to NetBSD driver
...
names, as we need to convert `pci' to both `psycho' and `simba'. add
a member to dev_compat_table[] for this, using BUSCLASS_NONE for when
we don't care (all other cases, currently). add `ide' -> `pciide' and
`disk' -> `wd' mappings here, also.
- "psycho" is a BUSCLASS_MAINBUS device; it has UPA attachment semantics.
this fixes bootpath detection for IDE disks.
2000-07-03 14:38:05 +00:00
pk
2310f6d755
Add `ahc' (Adaptec 2940, et.al. SCSI controller); it is known to work.
2000-07-02 21:11:26 +00:00
eeh
f504adf782
Clean up interrupt handling some more.
2000-07-02 16:13:21 +00:00
mrg
f3e6e48cb8
update to reality:
...
- TRAPWIN is defined in locore.s
- don't config netbsd_wd0
- enable MSDOSFS and FFS_IE
- enable INET6 & IPSEC*
- enable ipfilter
- comment sbus & zs at sbus
- enable scsi devices seeing we have scsi bus support
- hardwire the onboard hme as 'hme0'
- disable audiocs for now
- disable rnd for now
2000-07-02 15:02:29 +00:00
mrg
585f7645bf
iommu_dvmamap_load*(), pass an alignment constraint, as well as
...
EX_BOUNDZERO, to extent_alloc(). this fixes problems with it
(extent_alloc()) returning incorrect values, when the start of
the extent is not aligned as strongly as the requested area..
raw access to ide disks now works.
2000-07-02 14:00:38 +00:00
mrg
15c79c03c2
use bitmask_snprintf().
2000-07-02 13:35:35 +00:00
mrg
9ec4bcf95b
whoops; turn off trapdebug again.
2000-07-02 12:39:01 +00:00
cgd
a5c13f9ad4
Kwality control:
...
* put #includes of opt headers and headers to get protos used by
net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
eeh
707e41f21e
Fix interrupt delivery on UltraSPARC IIi machines.
2000-06-30 22:58:01 +00:00
eeh
3250ce2976
Reserve a page for dumping the kernel.
2000-06-30 22:17:53 +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
itojun
d76ae83df8
add PULLDOWN_TEST for all the platforms.
...
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +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
pk
7d89e9904d
We want prom_claim_phys() to return the address passed into it.
2000-06-26 19:45:54 +00:00
pk
9b1e1aeb66
prom_claim_phys: it appears one result argument too many was specified.
...
Now we can return the actual result of the call rather than merely
reflecting the input.
2000-06-26 19:41:20 +00:00
pk
ff54ba628e
prom_claim_phys: set `align' parameter to 0 (meaning: get the chunk at the
...
specified address).
2000-06-26 19:36:07 +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
mrg
2f159a1bac
remove/move more mach vm header files:
...
<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>
also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +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
mrg
53be5b215c
<vm/vm_pageout.h> is already empty; kill it totally.
2000-06-25 13:49:33 +00:00
eeh
2e1e35d58e
Enable interrupts.
2000-06-24 23:27:23 +00:00
eeh
6c5d2dbbac
With these changes the kernel seems almost stable again.
2000-06-24 20:48:36 +00:00
eeh
8e1fd2e3c6
Remove a couple of references to vaddrs.h that slipped through.
2000-06-24 16:51:34 +00:00
eeh
49bf46caf7
Add PROM symbols to 32-bit kernels too.
2000-06-24 04:42:55 +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
25bb978ba8
Printing out %pc values should now be safe.
2000-06-24 04:26:45 +00:00
eeh
0db2dfd53f
Make these interrupt levels reflect reality a bit better.
2000-06-24 04:25:08 +00:00
eeh
cc02c0d142
masterpaddr is gone.
2000-06-24 04:24:10 +00:00
eeh
be308420d4
Get rid of vaddrs.h.
2000-06-24 04:20:58 +00:00
eeh
3bc65c6d9e
Use probeget to read kernel data to prevent the machine from falling over if the PC goes bad.
2000-06-23 19:52:57 +00:00
eeh
e9b3925f8b
Make probeget() and probeset() really work for a change.
2000-06-23 19:50:54 +00:00
kleink
133ea38323
Add a WEAK_ALIAS() macro.
2000-06-23 12:18:45 +00:00
fvdl
1ee7d22c0b
Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC.
2000-06-22 20:27:49 +00:00
eeh
d24721788a
Correct calculation of length for dma segments in iommu_dmamap_load().
2000-06-22 18:18:19 +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
4ffba8be2a
Fix uninitialized pointer bug.
2000-06-19 22:29:15 +00:00
mrg
cafc122317
catch up with fpu changes.
2000-06-18 08:13:45 +00:00
mrg
f44ba0a4dc
back out part of previous.
2000-06-18 08:13:26 +00:00
mrg
fab0adad15
iommu_flush becomes iommu_strbuf_flush cuz that's what it does.
2000-06-18 07:17:40 +00:00
mrg
70a9c29b9b
give BSDB_MAP a value. add a shushing cast.
2000-06-18 07:13:41 +00:00
mrg
b6026e7c35
kill dead code.
2000-06-18 07:12:39 +00:00
mrg
fde87ed5d6
add a (u_long) cast for quietness
2000-06-18 07:10:23 +00:00
mrg
0bd5307bf8
remove an unused variable.
2000-06-18 07:05:09 +00:00
mrg
9105157268
duplicate "file" should only include "compile-with"
2000-06-18 07:03:35 +00:00
mrg
4f9416205c
update to reality
2000-06-18 07:02:04 +00:00
mrg
e36a32c98f
obsolete these; use the merge sparc version.
2000-06-18 06:58:30 +00:00
mrg
41d83cead7
use arch/sparc/fpu
2000-06-18 06:57:15 +00:00
mrg
f007a974bb
turn off softdep for now; we have enough other things to worry about.
2000-06-15 18:23:52 +00:00
mrg
eccc09d9de
fix a couple of errors in the previous. from eeh.
2000-06-15 15:51:07 +00:00
mrg
e26f7acd77
my Ultra-1
2000-06-15 13:50:20 +00:00
veego
223d7455c7
Remove the obsolete config fragments for kernel crypto, because the IPsec
...
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +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
65bca8bde2
Fix OF_val2sym and OF_sym2val.
2000-06-12 23:26:38 +00:00
eeh
3dfb9ee7ac
More debugging support.
2000-06-12 23:20:54 +00:00
eeh
0146a569d2
Comment describing the IOMMU DVMA address space layout.
2000-06-12 23:19:05 +00:00
eeh
cc29e9b22c
ebus_ca needs to specify enough memory to hold an ebus_softc, not a struct device.
2000-06-12 22:36:59 +00:00
mrg
69d1f5db9d
clean up cruft.
2000-06-12 05:31:30 +00:00
mrg
fdfb59b4b9
ih_map & ih_clr are volatile.
2000-06-12 05:29:43 +00:00
mrg
9918c00a61
formatting nit.
2000-06-12 05:27:27 +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
c69e701de8
Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
...
lfs_loop.c to the list that breaks optimization.
2000-06-09 15:28:21 +00:00
mrg
ed15212269
myetheraddr(): don't lose badly when the clock hasn't been attached yet.
2000-06-09 05:27:40 +00:00
eeh
7539c8d1ce
Turn on PCI MEM and DMA.
2000-06-08 23:03:17 +00:00
eeh
6c144faa4c
Allow multiple drivers to share one interrupt vector.
2000-06-08 23:01:22 +00:00
eeh
1b31fdcbb7
Fix uninitialized variable bug.
2000-06-08 22:58:42 +00:00
eeh
1dfab2070a
Override optimization for files that break gcc.
2000-06-08 21:25:18 +00:00
eeh
94ffeedb49
Allow for cacheable device maps (in case there's some RAM out there).
2000-06-08 17:59:32 +00:00
eeh
00e45ca869
Print all 64-bits of TTE data in db_pmap_kernel().
2000-06-08 17:45:29 +00:00
eeh
6baca0c1ad
Fixup signed/unsigned issues so 32-bit addresses are not sign extended.
2000-06-08 17:43:24 +00:00
eeh
860feb4e74
Fix ordering of sync operations depending on whether it's PRE- or POST-.
2000-06-08 17:41:46 +00:00
eeh
a273b333a3
Support large (>1 page) DVMA maps so UltraSPARC IIi will work.
2000-06-08 16:17:29 +00:00
eeh
08af61208e
Fix DVMA base address calculations.
2000-06-08 15:23:44 +00:00
mrg
ee41ef7a04
ensure an ebus really does exist in ebus_match; fixes spurious attachments with the ebus on a hme pci card.
2000-06-08 06:52:25 +00:00
pk
9a8d03d6bd
Add a couple of missing semi-colons.
2000-06-07 09:16:41 +00:00
soren
a9aa2abf94
defopt SYSCALL_DEBUG.
2000-06-06 18:52:30 +00:00
cgd
cffb580806
Implement the more flexiable `evcnt' interface as discussed (briefly) on
...
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
eeh
03228642f7
Use all 64 address bits in ld*a()/st*a() macros so physical device addresses
...
work. (Also add some bus_space_*() debug hooks).
2000-06-02 22:56:32 +00:00
eeh
f2ab1eb70c
db_stack_trace_cmd -> db_stack_trace_print
2000-06-02 15:38:32 +00:00
eeh
94084a33f8
New softintr interface.
2000-06-02 15:36:53 +00:00
cgd
47449a63d2
kill __P in these files. (I had to look at them anyway with an eye for
...
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
thorpej
8c2d00aaeb
Add a comment about needing to initialize p_cpu when multiple
...
processors are supported.
2000-05-31 05:09:14 +00:00
thorpej
e03e9e8086
Rather than starting init and creating kthreads by forking and then
...
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1(). In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.
This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
sommerfeld
40339b39f9
Reduce use of curproc in several places:
...
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.
- Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.
- Add a second proc argument for inferior() since callers all had
curproc handy.
Also, miscellaneous cleanups in ktrace:
- ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.
- move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.
- simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
eeh
907ed5fa81
Add `-D' flag to drop to the PROM before jumping to the kernel.
2000-05-26 22:59:51 +00:00
thorpej
a7d0570e67
First sweep at scheduler state cleanup. Collect MI scheduler
...
state into global and per-CPU scheduler state:
- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.
- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).
- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.
- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.
Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
thorpej
7d2fdbcb55
Don't set `runtime' here; it's done at the end of mi_switch().
...
cvS: ----------------------------------------------------------------------
2000-05-26 05:27:29 +00:00
jhawk
8e44b27348
Rename the machine-specific stack trace printing functions
...
from db_stack_trace_cmd() to db_stack_trace_print(),
and add an additional argument, a function pointer for an
output routine (i.e. printf() or db_printf()).
Add db_stack_trace_cmd() in db_command.[ch], calling
db_stack_trace_print() with db_printf() as the printer.
Move count==-1 special handling from db_stack_trace_print() [nee
db_stack_trace_cmd()] to db_stack_trace_cmd() [nascent here].
Again, I'm unable to test compilation on all affected platforms,
so advance apologies for potential brokenness.
2000-05-26 03:34:24 +00:00
thorpej
8964c35eca
Introduce a new process state distinct from SRUN called SONPROC
...
which indicates that the process is actually running on a
processor. Test against SONPROC as appropriate rather than
combinations of SRUN and curproc. Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
jhawk
f3528d725d
Interface change: db_printsym() takes a third argument, pr, a function
...
pointer indicating how to print the symbol. This allows db_printsym()
to called in places where db_printf() is not an appropriate output
function.
While straightforward, apologies in advance if I've introduced any minor
syntax errors; I was unable to test compilation this on all the affected
platforms.
2000-05-25 19:57:30 +00:00
eeh
ca743bac9a
Use the PCI function code to distinguish simba bus A from bus B instead
...
of the current hack.
2000-05-24 20:27:52 +00:00
eeh
c965d1deec
If we have sparse PCI spaces we can run out of IO map space when mapping
...
PCI config space. Since PCI config space is mostly used by PCI bus drivers,
we won't actually map it in. Instead we use MMU bypass ASI accesses to read
and write PCI config space.
2000-05-24 20:24:58 +00:00
thorpej
1140468205
Use preempt(), not an open-coded equivalent (which won't be
...
equivalent for long).
2000-05-24 16:48:33 +00:00
eeh
8b4fa50a4d
Need to be able to turn off pcons.
2000-05-23 05:11:28 +00:00
eeh
62d33e59ff
Align things pessimistically so a 64-bit kernel will accept symbols from a 32-bit loader.
2000-05-22 19:15:33 +00:00
mrg
296eaaa36d
add two new CPU_ISXXX versions: CPU_ISSUN4U, CPU_ISSUN4MOR4U
2000-05-22 02:35:23 +00:00
eeh
17c567f9de
Oops. Seems like we do need this file to make pcons work.
2000-05-20 14:23:12 +00:00
thorpej
071aed40ac
A foolish consistency; most parts of the kernel use bp->b_data, so
...
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
eeh
dd5143017a
Use the new emergency fallback PROM console driver.
2000-05-19 05:28:47 +00:00
eeh
424619ca1a
Fix the sparc64 console.
...
Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:
Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).
Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.
2000-05-19 05:26:16 +00:00
mrg
4bd0bb352b
this file has not been used for a long time.
2000-05-19 01:09:21 +00:00
mrg
0cd44feb0e
fix if/ifdef mistake
2000-05-17 10:28:14 +00:00
mrg
20bc66f592
- add some psycho interrupt debugging stuff (#if 0'ed out)
...
- fix arguments passed in psycho_dmamap_load_raw()'s declaration, and
what it passes to it's parent bus.
2000-05-17 10:17:01 +00:00
mrg
eee5e33e8a
- in iommu_remove(), move len adjustment outside if statement, leaving
...
just one copy of this.
- remove duplicate setting of sgsize in iommu_dvmamap_load().
- fix DIAGNOSTIC check in iommu_dvmamap_load_raw() to panic() in unexpected
conditions only (not normal ones), and also add an extra case.
2000-05-17 09:53:53 +00:00
mrg
53fa9da4df
move zs_attach() to after the setting of the console device, to avoid
...
having cn_dev being 0 and thus cnopen() being called recursively. this
fixes this problem for zs-based console's only.
2000-05-17 09:28:22 +00:00
mrg
651712a140
add a note about US IIi and PCI_INTERRUPT_LINE register
2000-05-17 09:25:58 +00:00
mrg
6dad37e26a
expand a comment slightly.
2000-05-17 09:25:27 +00:00
mrg
f2a19f58b5
fix || vs. && bug, and clean up some cruft.
2000-05-17 09:16:44 +00:00
mrg
0eeab9735f
fix another warning.
2000-05-17 09:12:10 +00:00
eeh
3b90b5c5c4
Add support for bus_dma_load_raw() so the le driver will work again.
2000-05-17 02:31:12 +00:00
thorpej
463931b3ba
Nuke dk_establish() from orbit except from those ports which still use
...
it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00