Commit Graph

798 Commits

Author SHA1 Message Date
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