Commit Graph

2634 Commits

Author SHA1 Message Date
thorpej f10ccf00b1 Remove an unnecessary MB in __cpu_simple_unlock(), per sections
5.3.3 and 5.3.4 of the Green Book, and a discussion w/ cgd@netbsd.org.
2000-08-14 20:28:28 +00:00
thorpej b80f38bf8b Issue a memory barrier before clearing a lock, as per section 5.5.3
of the Green Book and a discussion on tech-smp and port-alpha.
2000-08-14 17:18:50 +00:00
thorpej 86ef3ea256 Clean this up a little bit, and issue a Specific EOI after
dispatching an EISA interrupt.
2000-08-14 05:38:23 +00:00
thorpej b022657405 Add support for EISA configuration space on the Jensen (it's
mapped differently than on other EISA sysetms).
2000-08-14 02:14:24 +00:00
thorpej 5d5752af8b More MP cleanup:
- pmap_zero_page() and pmap_copy_page(): if MULTIPROCESSOR, issue
  a memory barrier after we zero/copy the page, to ensure that
  other CPUs see the correct data.
- XXX Should we use MB, or is WMB good enough?

Also, bzero -> memset, bcopy -> memcpy.
2000-08-13 22:43:42 +00:00
thorpej cdc6dac7f1 More MP cleanup:
- Make sure to do an MB after a PTE is set to a new value, so that
  other processors see it.
- Use lazy I-sync in two pmap_page_protect() and in pmap_changebit(),
  so that it is MP-safe.  XXX Two more places where IMB is used in
  the raw, but they're not in the common path.

There'll be some more lazy I-sync cleanups soon.
2000-08-13 22:30:18 +00:00
thorpej f49fa3615c Add some XXXSMP to places were imb is still used in the raw. 2000-08-13 18:41:15 +00:00
thorpej cd04e9fb14 Add MULTIPROCESSOR versions of PMAP_SYNC_ISTREAM_{KERNEL,USER}(). 2000-08-13 18:22:21 +00:00
thorpej 325f9ccafc Add alpha_multicast_ipi(). 2000-08-13 18:20:55 +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
thorpej 65c9982dfa Back out part of previous which was unintended. 2000-08-11 18:26:09 +00:00
thorpej e4eb846113 Add depca at eisa. 2000-08-11 03:05:19 +00:00
thorpej e931f846ff #if 0 out a debugging printf. 2000-08-11 01:02:39 +00:00
thorpej e207174eb0 Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.
XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
2000-08-11 00:43:18 +00:00
thorpej 30f7d691a0 Declare the ECU data in an MI location, so that drivers can
use it.
2000-08-10 23:30:08 +00:00
tv 5165243e6c %lz -> db_format_hex() 2000-08-09 20:00:30 +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
briggs 3f1e17a340 Define bus_space_*_stream_N functions as their non-stream counterparts. 2000-07-31 22:43:46 +00:00
thorpej d760e0b407 Add code to read the EISA configuration NVRAM as set up by
an EISA Configuration Utility.  Code to access this data
is forthcoming.

XXX This could probably be made MI at some point.
2000-07-29 23:18:46 +00:00
mason 4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
jdolecek 911d661dad switch to sys/conf/newvers_stand.sh for generation of version files
move the vers.c depend/build goo to Makefile.bootprogs and remove
	explicit rules in other Makefiles
sync the message in */version files with other ports using newvers_stand.sh

XXX the new depend rules were tested to limited extend (also with obj dirs)
XXX on i386 and should be ok; the changes should not otherwise influence build
2000-07-21 21:25:18 +00:00
thorpej 9faf26ffb5 This file is obsolsete. 2000-07-19 17:39:57 +00:00
nathanw e72ba11928 In cpu_switch(), load value *after* checking that the base register
is not NULL.
2000-07-19 14:00:24 +00:00
thorpej ea0cb4c30e Clear the ISDN TXPTR/RXPTR/OVRN interrupt bits here. Based on
a suggestion by Gregory McGarry.
2000-07-18 06:10:06 +00:00
thorpej 5edc9ef4a4 When computing the segment size, consider the maximum segment
size in the DMA map.
2000-07-17 04:47:56 +00:00
thorpej 3eedcb3009 Whitespace police. 2000-07-13 05:47:39 +00:00
thorpej 1204c1faaf Oops, treat 2100A_A500 just like 2100_A500 in every place necessary. 2000-07-12 21:02:14 +00:00
thorpej 3182af4432 - Add Jensen support/devices.
- Add commented-out Sable/Lynx support/devices.
- Switch from `ncr' to `siop' by default.
- Add some missing `scsibus' configs to INSTALL.
2000-07-12 20:54:38 +00:00
thorpej 249773b538 Deal with another odd need of the Sable/Lynx systems, which need to
have an ISA chipset present before the PCI-EISA bridge has been
attached (because the STDIO module has an ISA DMA-using device,
the floppy controller, connected to it).
2000-07-12 20:50:00 +00:00
thorpej a66c3e663c Code to support the DEC 2000/300 (DECpc AXP 150, a.k.a. "Jensen")
systems.  Thanks to Gyenes Istvan for the rounds of testing.
2000-07-12 20:36:07 +00:00
thorpej 55c41121ff Change from `ncr' to `siop' by default. 2000-07-12 20:27:25 +00:00
thorpej 42c89508c0 Uncomment the `fdc at sableio' lines. 2000-07-12 20:20:54 +00:00
nisimura 4f051180a0 - Use PMAD-BA name for device match logic. It's not a real TURBOchannel
device and the id string is not found in option ROM string, but
  ULTRIX/OSF1 call it so anyway.
- Squash IOASIC DMA buffer allocation into device attach() sequence.
2000-07-11 04:10:25 +00:00
thorpej 2c9058efbb Oops, g/c some stuff from previous. 2000-07-06 23:29:13 +00:00
thorpej 65780061bd Define some more CTB formats. 2000-07-06 22:46:54 +00:00
bouyer 4c19b21f72 3c503 works on alpha, add:
ec0 at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
2000-07-05 18:40:47 +00:00
nisimura 7b6a572aae zs_ioasic external declarations are stored in zs_ioasicvar.h. 2000-07-05 03:06:53 +00:00
nisimura 534c33a095 Use dev/tc/ directory for DEC3000 Z85C30s. 2000-07-05 02:50:39 +00:00
nisimura 728e424e54 Repopulate 4 files, zs_ioasic.c and zs_ioasicvar.h from arch/alpha/tc,
zskbd.c and zsms.c from dev/dec/, respectively.  No functionality
change this time.
2000-07-05 02:48:50 +00:00
nisimura 4dcd114ad5 Unnecessary to include <dev/tc/tcreg.h>. 2000-07-04 02:37:51 +00:00
nisimura 1de4ec68b4 Repopulate TCDS dual channel SCSI adapter to MI dev/tc, squashing
internals for better layering between TCDS DMA ASIC and ASC SCSI
controller.
2000-07-04 02:22:08 +00:00
thorpej 7878bcc14c Don't bother with minor printing, except on the LCA CPUs (because
that tells us if we have a 21066 or 21068).
2000-07-03 21:21:26 +00:00
thorpej 10e6c623b3 Print the system serial number. 2000-07-03 17:52:33 +00:00
thorpej 01bd2a3496 The `rpb_phys_address_size' field is really 2 32-bit fields,
`rpb_phys_address_size' and `rpb_extended_va_size', per Brown Book.
2000-07-03 01:47:48 +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
simonb edf0a0d67e Pass the abst to alpha_pci_mem_unmap() so that the real size of the
mapped area can be unmapped.
2000-06-30 18:19:28 +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
mjacob 0d7f238097 no more vm includes 2000-06-30 00:00:26 +00:00
mrg 80bb8049ba remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 09:02:51 +00:00
mrg c88e94a407 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:58:45 +00:00
thorpej e9052d7c40 New delay() function that uses the RPCC instruction. From
Matthew Jacob <mjacob@feral.com>.
2000-06-28 02:02:26 +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
thorpej 69a6fe113c Garbage-collect CHIP_PHYSADDR(). 2000-06-26 19:46:24 +00:00
thorpej cc9dfe871b Do the previously slightly differently, to avoid confusing the internal
space extent maps.  Pointed out by msaitoh@netbsd.org.  (Someone should
send me an EV6 machine!)
2000-06-26 18:19:26 +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
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
thorpej 9a2d9ff68b Because of the Cool sign-extension hack we use to access PCI space,
the `get window' method ends up with the wrong physical address to
pass onto userspace (which wants to mmap the space).

Compensate by adding a CHIP_PHYSADDR() macro which un-hacks the address
suitably for mapping with other-than-KSEG.
2000-06-26 02:42:10 +00:00
enami 506c4945d8 Fix typo in previous to prevent compilation error when DEC_1000 isn't
configured.
2000-06-26 02:42:04 +00:00
thorpej a2318e49a0 G/c unused include. 2000-06-25 19:33:01 +00:00
thorpej 167094d31a Implement mcpcia_bus_get_window(). 2000-06-25 19:32:19 +00:00
thorpej 865004842f Implement tsp_bus_get_window(). 2000-06-25 19:17:39 +00:00
thorpej 9f7689e3c9 For systems which have different systypes but share a common
support module, make consistent with other systems which options
you must enable for it to work.  Treat ``Lynx'' (2100A_A500) like
``Sable'' (2100_A500).
2000-06-25 17:21:55 +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
matt 5c13e34063 CDROMs can exist on ide buses 2000-06-20 03:48:53 +00:00
simonb 8e0ec9a961 s/ouwl/outl/ in macro definition. 2000-06-19 12:19:38 +00:00
thorpej 01ae72fdf9 Enable uhid. 2000-06-14 22:28:13 +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
thorpej fe8841f18a Some platforms, like the Sable, hook EISA and ISA interrupts
up Very Differently.  Handle this.
2000-06-13 16:40:37 +00:00
tron 447112b869 Add entry for "bba(4)". 2000-06-13 06:15:51 +00:00
matt 58ca6aac15 Add netbsd.alpha & netbsd.alpha.gz for installation cds. 2000-06-12 23:38:03 +00:00
sommerfeld 4a9abf779e Fix this so it compiles again with DEBUG 2000-06-12 23:35:11 +00:00
thorpej 75975dd6c5 G/c some unneeded prototypes (functions don't exist). 2000-06-11 22:47:00 +00:00
thorpej 0531d2ddcb jensenio gets isadma_bounce attribute. 2000-06-11 22:45:44 +00:00
thorpej 91ed0189e8 Add Jensen files glue. 2000-06-11 21:25:23 +00:00
thorpej 99079f93c0 Add init glue for the DEC 2000/300 (Jensen). 2000-06-11 21:19:23 +00:00
sommerfeld 82b38059d6 Let this build again after the pckbc_cnattach change 2000-06-11 01:59:26 +00:00
thorpej 71cd989b8f Only include <machine/intr.h> if _KERNEL. Noted by enami tsugutomo. 2000-06-09 16:03:04 +00:00
soda 0f76c56f2d increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
2000-06-09 04:58:32 +00:00
cgd c2ebb05a74 make spl0() and spllowersoftclock() return void. Also, move spl0()
prototype from param.h to intr.h.  (there were some big XXXs in param.h
that said to do that, and intr.h is included by param.h, so...)
2000-06-09 01:40:12 +00:00
thorpej 81afcb3940 And more ANSI'ification! 2000-06-08 03:10:06 +00:00
thorpej 966b3da402 ANSI'ify. 2000-06-08 02:53:47 +00:00
thorpej 8355a216eb Add the `rnd' driver. 2000-06-08 02:20:50 +00:00
thorpej 0bf91362b9 Add cpu_counter() for rnd(4), using the rpcc insn. 2000-06-08 02:19:20 +00:00
simonb e59356ecdd In __cpu_simple_lock_try(), use "return (v0 != 0);" instead of
"return (v0);" where v0 is an unsigned long and the function return
type is int.  Stops lint warnings when this file is included.

Fix from Jason Thorpe.
2000-06-07 01:49:13 +00:00
matt 2b0f10e384 Needs to look at different stuff depending if the scsipi bus is SCSI or ATAPI 2000-06-06 20:26:19 +00:00
soren a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
thorpej c791fe193f Give the `sio' and `pceb' drivers the `82c693' attribute. 2000-06-06 03:10:55 +00:00
thorpej f3d9d1ac8a Use the common 82c693 access functions to read/write the ELCR. 2000-06-06 03:10:13 +00:00
thorpej f65502fc36 Report which compatibility IRQ the PCI IDE gets. 2000-06-06 00:50:15 +00:00
jhawk c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
thorpej b0ce38fd8a Switch to the new `evcnt' mechanism for counting interrupts. Maintain
a per-CPU interrupt counter for clock, device, and interprocessor
interrupts.
2000-06-05 21:47:26 +00:00
thorpej 2668e3b213 Switch to the new `evcnt' mechanism for counting interrupts. Maintain
a per-CPU interrupt counter for clock, device, and interprocessor
interrupts.
2000-06-05 21:47:10 +00:00
nisimura 4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +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
thorpej 1c8cd252f9 ANSI'ify. 2000-06-04 18:09:36 +00:00
thorpej 6addd3ac42 Nuke a couple of unnecessary IMBs. In these cases, the mappings weren't
hanging, only perhaps the permissions being lowered, in which case the
I-stream does not need to be sync'd.
2000-06-04 17:39:12 +00:00
thorpej a39439b400 ANSI'ify. 2000-06-04 16:55:57 +00:00
thorpej e8d65fec30 ANSI'ify function declarations. 2000-06-04 05:27:45 +00:00
thorpej 70dc4d8718 Un-__P'ify kernel prototypes. 2000-06-04 05:23:18 +00:00
thorpej df4a5a7f43 Increment an interrupt depth counter in non-clock interrupt cases
so that we can get time spent in interrupt statistics.
2000-06-04 03:40:03 +00:00
thorpej cd423732b8 - Clean up clock interrupt code a bit, and provide a CPU_IS_PRIMARY()
macro in the MULTIPROCESSOR case (hardclock() wants it).
- Implement __GENERIC_SOFT_INTERRUPTS, and redefine the legacy
  software interrupts in terms of it.  Garbage-collect setsoftserial().
2000-06-03 20:47:36 +00:00
thorpej be636036f8 Err, actually, print "21264A", not "EV67". 2000-06-03 14:13:42 +00:00
thorpej d42ef058b5 Recognize PCA57 and EV67. 2000-06-03 14:12:54 +00:00
thorpej 392948ced8 Add EV57 and EV67 processor variants.
cvs: ----------------------------------------------------------------------
2000-06-03 14:12:28 +00:00
nisimura b52ffbdbe9 Make clarified SCSI transfer direction flag. sc_ispullup == pullup
data from SCSI device == DMA into main memory == datain.
2000-06-02 04:35:06 +00:00
thorpej 9851571246 Add support for the Alpha Processor, Inc. UP1000 EV6 system. 2000-06-01 20:30:28 +00:00
thorpej 79744e1563 Add a global patchable variable to enable debugging printfs in the
code that finds the boot device.
2000-06-01 17:12:38 +00:00
sommerfeld f732048856 Add missing newline 2000-06-01 13:50:48 +00:00
thorpej e75d8e3878 Forgot __KERNEL_RCSID(). 2000-06-01 05:49:36 +00:00
thorpej 5114577ab0 ISA DMA bounce buffer code, needed for a couple of SGMAP-less
systems, support for which will be hitting the tree soon.
2000-06-01 03:55:45 +00:00
thorpej 1cf70c169f Rearrange things a little so we can deal with systypes that aren't
densely packed.
2000-06-01 03:41:23 +00:00
thorpej 850f9b030b Typo. 2000-06-01 03:16:51 +00:00
thorpej c7f9211c18 Add placeholders for the support files for the Alpha Processor, Inc.
UP1000 EV6 system.
2000-06-01 03:16:19 +00:00
matt c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +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 370a47ecac Add a few systypes. 2000-05-31 18:29:17 +00:00
thorpej 0d866249d4 - In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
- Always make curproc, fpcurproc, astpending, and want_resched per-CPU
  variables in struct cpu_info.  Restructure code accordingly, and trim
  a few instructions from a few spots in various places in locore.
2000-05-31 05:14:26 +00:00
mycroft 65ace9d5d8 Yessiree! It's softdep time! 2000-05-31 04:57:20 +00:00
matt 3f4005113e funciton != function 2000-05-29 23:34:08 +00:00
matt c7c33f1747 make egcs happy: ioasic.c:327: warning: suggest parentheses
around arithmetic in operand of |
2000-05-29 02:16:57 +00:00
thorpej 8576ef9a13 Add Cyclades-Z. 2000-05-28 23:06:39 +00:00
thorpej 0936213012 Add Cyclades Y and Z multiport serial adapters. 2000-05-28 23:05:19 +00:00
gmcgarry 6eb4356ecf IOASIC_INTR_ISDN is used for interrupts on every sample. We use DMA so
need IOASIC_INTR_ISDN_TXLOAD|IOASIC_INTR_ISDN_RXLOAD.
2000-05-28 06:07:31 +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
thorpej 5410ee3607 Update a couple of comments for reality. 2000-05-27 06:29:35 +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
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
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
mycroft 57f3751ca1 Add ipfilter-related stuff. 2000-05-25 16:33:13 +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
thorpej f6cea17c36 Rename the atomic operations to have generic machine-independent
names, and define __HAVE_ATOMIC_OPERATIONS to indicate their
existence.
2000-05-23 05:12:53 +00:00
thorpej d3ea31501b Add an MP version of this config, and add come commented out
debugging options.
2000-05-23 05:01:56 +00:00
thorpej 0aae1fb638 Note that KN300 is also for AlphaServer 1200. 2000-05-23 02:04:28 +00:00
thorpej b97e178455 Add kernel config for my AlphaServer 1200 MP hacking box. 2000-05-23 02:02:41 +00:00
thorpej 2c49ab816e When checking for netboot, also check for MOP protocol. 2000-05-22 20:13:31 +00:00
thorpej 800573dc5f Normalize determination of scsiboot and netboot. 2000-05-22 20:09:12 +00:00
thorpej 09e72ae7e2 Remove the adjustment of VM_PHYS_SIZE for `large memory machines'. The
only adjustment that was really necessary was for VM_KMEM_SIZE, and that
is no longer necessary because there is now generic auto-sizing for
kmem_map.
2000-05-22 17:13:53 +00:00
thorpej 7e078f081c Kernel config for my Alphastation 200 file server + wireless network
gateway.
2000-05-22 16:46:11 +00:00
thorpej 20241c549c These systems haven't been available to NetBSD/alpha developers
for a very very very long time, and there are more up-to-date
example configs for the BUNNY case.
2000-05-22 16:45:30 +00:00
thorpej 61ae567197 Rename CANE to MINI-ME to reflect that my Multia hasn't been
parked at my (former) NASA office for quite some time.
2000-05-22 16:38:24 +00:00
thorpej b0600483b9 bishop.nas.nasa.gov and nostromo.nas.nasa.gov are no more. 2000-05-22 16:35:25 +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
matt f7b0b612b4 Add PCMCIA. 2000-05-18 04:03:30 +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
thorpej 26f56b9cab Only use __builtin_va_alist_t if using GCC 2.96 or later. Fixes
pkg/10080, from Matthias Scheler.
2000-05-12 23:49:11 +00:00
thorpej c52b8eabae Make stdarg/varargs work with GCC 2.96. 2000-05-10 17:53:45 +00:00
hubertf 9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej 6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
augustss 3a6e3a4670 Add (sometimes commented out) MIIVERBOSE option. 2000-05-08 13:49:44 +00:00
augustss 8abcd395fd Add bba(4) attachment. 2000-05-02 08:04:24 +00:00
thorpej 855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
thorpej dc8f3d3b3f Oops, install <machine/lock.h> on these systems, too. 2000-04-29 03:45:42 +00:00
thorpej f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
ad db06ac868b Attach cac* and ca*. 2000-04-28 13:51:56 +00:00
ad 8f9b06a9e6 - Enable ca(4) device.
- Fix a couple of nits.
2000-04-28 13:50:25 +00:00
thorpej 0cde36f780 Carve off the ISA configuration bits from the floppy driver. Driver is
still ISA-specific, but we can attach ISA instances with different
configuration mechanisms now.
2000-04-23 16:47:45 +00:00
thorpej bedbdf87a4 rl -> rtk 2000-04-22 16:28:48 +00:00
haya 784977f319 Changes the name of RealTek driver. The new name is `rtk'. This used
to be called `rl' and it conflict with RL vax disks, canonical and
historical unix driver name.

This changes are minimal: it only changes the name of RealTek driver.
The filename of source code and a lot of the letter `rl' in source
files should be changed shortly.
2000-04-19 08:44:31 +00:00
itojun 3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
tron 939041f1aa Fix typo in last commit. 2000-04-18 14:48:53 +00:00
drochner 13c9f8d398 implement bus_space_vaddr() 2000-04-17 17:24:48 +00:00
simonb 856c6ff149 Remove duplicate CTL_MACHDEP definitions (duplicated in <alpha/cpu.h>). 2000-04-10 06:04:28 +00:00
chs 64bb56dcc8 add decls for fd driver. 2000-04-10 01:19:13 +00:00
thorpej a9f69b00d2 Use UVM_PGA_ZERO. 2000-04-10 00:48:35 +00:00
nathanw 69b1a83709 Restore sysbeep (accidentally removed in last commit). 2000-04-07 18:58:09 +00:00
thorpej 6dd5a9db6e Use dev/isa/fd.c. 2000-04-07 16:35:19 +00:00
thorpej 156114a02f Use the new cpu_amask variable rather than calling alpha_implver() and
alpha_amask() ourselves.
2000-04-03 01:48:07 +00:00
thorpej 55287d7159 Print any architecture extensions present on the primary CPU. 2000-04-03 01:47:28 +00:00
thorpej dbcb4cee48 Fix a typo in a previous revision, and add bit names for amask bits for
use with bitmask_snprintf().
2000-04-03 01:10:17 +00:00
mycroft cfeee7a4ef Enable de, since tlp doesn't support one of my cards. 2000-04-03 01:04:36 +00:00
augustss 9a31a8c77f Add atapibus* at umass? 2000-04-03 00:03:28 +00:00
thorpej 2bc5adb20e Instead of checking vm_physmem[<physseg>].pgs to determine if
uvm_page_init() has completed, add a boolean uvm.page_init_done,
and test against that.  Use this same boolean (rather than
pmap_initialized) in pmap_growkernel() to determine if we are
being called via uvm_page_init() to grow the kernel address space.

This fixes a problem on some i386 configurations where pmap_init()
itself was needing to have the kernel page table grown, and since
pmap_initialized was not yet set to TRUE, pmap_growkernel() was
choosing the wrong code path.

Fix tested by Havard Eidnes.
2000-04-02 20:39:14 +00:00
minoura 78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
simonb 0edd529101 Extern declaration of cputype. 2000-03-29 03:50:40 +00:00
simonb 5b911637a1 Remove redundant decl for phys_map - it's in <vm/vm_kern.h>. 2000-03-29 03:49:48 +00:00
simonb 868578431b Remove redundant decl for physmem - it's in <sys/systm.h>. 2000-03-29 03:49:02 +00:00
simonb e764ed49e6 Remove redundant decl of msgbufmapped - it's in <sys/msgbuf.h>. 2000-03-29 03:48:20 +00:00
simonb 9ff7681a33 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:31 +00:00
enami 4feca5e9ea Remove unnecessary cast in previous. Pointed out by shin@netbsd.org. 2000-03-29 03:09:15 +00:00
simonb d7a08fd8c5 Don't declare a variable in the 'struct platform' declaration - we declare
an extern for 'struct platform platform' further down this file anyway,
and this would have declared a 'platform' variable in any userland code
including this file.
2000-03-29 02:59:18 +00:00
enami b31c6d62e2 Fix previous in a different way. 2000-03-27 06:41:02 +00:00
enami 24a0efebab Fix compilation error (printf format mismatch) due to recent round_page()
change.  While I'm here I fold the long line.
2000-03-27 04:01:54 +00:00
kleink 230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
nisimura ae55376f19 - Remove unused bt459reg.h.
- sfbvar.h has gone, placing patch on holes for now.  Every TC framebuffer
  has a single explosure of xxfb_cnattach() which could be bridged by MI
  land.
2000-03-26 10:32:51 +00:00
nisimura 99806742c0 Remove local implementation switching to accelerated MI sfb.c. 2000-03-26 05:52:17 +00:00
nisimura 58e4b0efbe A minimal fix to make this compilable. 2000-03-24 08:24:29 +00:00
thorpej 4ad898818b Fallout from callout. 2000-03-24 01:04:11 +00:00
thorpej b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
thorpej 3e93b28029 Use a software interrupt for tty input processing, not a callout. 2000-03-23 01:04:10 +00:00
cgd 7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
thorpej 800e276128 Fix INTRCNT_DEC_550_IRQ_LEN. From Nathan Williams. 2000-03-21 02:17:11 +00:00
thorpej 3eed2414e5 Handle a few more SPECIAL intructions. 2000-03-20 02:54:45 +00:00
thorpej 3c8d09cc56 Update the amask bits. 2000-03-20 02:19:44 +00:00
thorpej f785596e75 Add support for mapping the OHCI USB controller interrupt (which is wired toan ISA IRQ because it's in the same package as the PCI-ISA bridge). 2000-03-19 02:25:29 +00:00
thorpej ac93a75106 Point back to the alpha_shared_intr in the intrhand structure. This
allows platform-specific code to access the `intr_private' data via
the intrhand structure.
2000-03-19 01:46:18 +00:00