Commit Graph

894 Commits

Author SHA1 Message Date
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
itojun 85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
eeh 7c49c54392 Fix signal delivery. 2000-08-10 18:33:47 +00:00
mrg b8dfc193d0 merged with the sparc installboot 2000-08-10 12:18:14 +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
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