Commit Graph

2078 Commits

Author SHA1 Message Date
cgd bd44d9c286 as pointed out by simonb, since we've moved to ELF __main() calls
aren't emittid anymore.
1999-03-31 16:12:51 +00:00
mycroft 83cb600015 Enable rnd. 1999-03-31 14:29:33 +00:00
cgd 801906b363 GC; unused 1999-03-31 06:37:13 +00:00
cgd be6a1d529a separate defns for primary and unified boot blocks 1999-03-31 06:28:41 +00:00
cgd 77a9cb81ff implement NO_GETCHAR, to remove getchar(), and NO_PUTCHAR_HALT to remove
the check in putchar() for character input (specifically control-c, which
causes a halt).
1999-03-31 03:34:21 +00:00
cgd c5fa912232 no point in passing &ret to test_getchar(); nobody cares! also, no
point in doing the check-for-abort functionality twice in putchar()
(once with a call to test_getchar(), once open coded).
1999-03-31 03:22:57 +00:00
cgd 98f67b8238 In putchar(), don't open-code two calls to the prom puts routine. Instead,
call a helper function (putonechar()).  Savings: 64 bytes.  Cha-ching!
1999-03-31 03:10:00 +00:00
cgd 3665d82d1a GC cpu_number() and turn alpha_pal_imb() into inline assembler. 1999-03-31 03:04:21 +00:00
cgd 51a85dabbb rename the C main() function to main_(). this avoids gcc's implicit
call to __main(), and therefore saves the size of the call and the
  size of a stub implementation of __main().
in the primary boot block, don't bother saving/restoring the argument
  passed in from the caller.  There is no such argument (that we care
  about, at least) to the primary.  (for secondary, it's the firmware
  FD being used.)
1999-03-31 03:03:01 +00:00
cgd 4a209e30f8 Compile with -Os (optimize for size).
Clean up the "Region 1" related definitions, and define load addresses,
  max load size, and max total size for as many boot block types as we can.
  (types = unified, primary, secondary).  We can't always define all
  values for all boot blocks, though.
Make CPP flags selection less gross.
Use objcopy rather than headersize (yay, evil gets a stake to the heart!).
Use a little shell script to verify that the sizes of the boot blocks are OK.
Do not compile too much more of libsa than we actually have to.
1999-03-31 02:52:11 +00:00
mycroft d05df6042f Add mpu at isapnp, currently commented out. 1999-03-29 06:16:34 +00:00
mycroft e3c8daf920 Panic if access_type has bits not in prot. 1999-03-29 05:31:24 +00:00
drochner 31a77e61b3 Leave out display console related bits if wscons is not compiled in.
Should fix link error reported by Kevin <kev@drule.org>.
1999-03-28 13:48:40 +00:00
drochner a17279574e alpha uses the mi wscons; remove the old bits 1999-03-27 17:36:30 +00:00
ross 5bc91073ce Bug fix for the bug fix. Be sure to prom_close() in bootxx and boot, but not
in netboot, and not in diskclose(), but after trying all kernelnames[].
1999-03-27 09:01:27 +00:00
thorpej b69d0d9e89 Pay attention to "access_type" in pmap_enter(). 1999-03-27 02:48:32 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
ross 6ee909b24f Fix bug found by Bernd "Veego" Ernesti: close the console disk channel. 1999-03-26 20:53:12 +00:00
thorpej 567cda0537 Don't bother allocating mb_map on these systems. Mbuf clusters are
allocated from a pool, and the MIPS and Alpha use KSEG to map pool
pages.  So, mb_map wasn't actually being used.  Saves around 4MB of
kernel virtual address space in a typical configuration.

Garbage-collect the related VM_MBUF_SIZE constant.
1999-03-26 00:15:04 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
ross be177a7fd4 PCI: +bha
+en
	+ex
	+fxp
	+le
	+pcscp
MII:	+exphy
EISA:	+ahb
	+uha
1999-03-22 09:19:57 +00:00
ross 60fe60deaa Enable fuword(9), fuiword(9). 1999-03-22 09:17:11 +00:00
mycroft df7eadf2d6 More PnP/audio goo. Need an Alpha joystick driver. B-) 1999-03-22 07:55:14 +00:00
mycroft 8e621ce2ee Add MIDI and sequencer devices. They seem to work, even. 1999-03-22 07:52:56 +00:00
thorpej a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
cgd 10af862bf7 move isa/isa_machdep.h to include/isa_machdep.h. (can't do it via
repository copy because alpha already had an include/isa_machdep.h in
the attic.)
1999-03-19 05:04:42 +00:00
cgd 8e85aac1ce move pci/pci_machdep.h to include/pci_machdep.h. (can't do it via
repository copy because alpha already had an include/pci_machdep.h in
the attic.)
1999-03-19 03:40:46 +00:00
cgd 08eb14f874 Moved to arch/alpha/include/isapnp_machdep.h,v 1999-03-19 03:14:06 +00:00
cgd 0d0fd78b4e Moved from arch/alpha/isa/isapnp_machdep.h,v 1999-03-19 03:14:05 +00:00
cgd e962a59308 move tc/tc_machdep.h to include/tc_machdep.h. (can't do it via
repository copy because alpha already had an include/tc_machdep.h in
the attic.)
1999-03-19 03:12:31 +00:00
cgd 88590a9cd1 move eisa/eisa_machdep.h to include/eisa_machdep.h. (can't do it via
repository copy because alpha already had an include/eisa_machdep.h in
the attic.)
1999-03-19 02:59:49 +00:00
chs ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
drochner 04df246f03 identify ST_DEC_6600 (EV6) - as unsupported :-( 1999-03-17 19:00:01 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
drochner 597bc445b1 add ST_DEC_6600, clean up some comments 1999-03-17 18:58:51 +00:00
ross 1ae12eef5a g/c proto 1999-03-17 18:28:11 +00:00
ross f10b320472 XXX rm ioasicprint() & ioasic_submatch() because of <dev/tc/ioasic_subr.c> XXX 1999-03-17 17:50:06 +00:00
nisimura 1990f5b094 - Make compilable with 32bit long integer system. 1999-03-15 05:28:07 +00:00
jonathan ef79649fc1 MI ioasic softc and child-device structs, gc duplicate struct definitions.
Add MI ioasic functions, but dont enable on alpha until tested.
1999-03-15 01:25:26 +00:00
drochner c0433847af make complaints about missing platform support match reality 1999-03-13 19:46:58 +00:00
perry 240d1ad927 remove ovbcopy references 1999-03-12 23:03:31 +00:00
perry 5b25cace4c ovbcopy -> memmove 1999-03-12 22:59:23 +00:00
perry 02a2323b29 ovbcopy->memmove 1999-03-12 22:56:21 +00:00
perry a92175a153 nuke ovbcopy 1999-03-12 22:54:58 +00:00
ross 0325be06dd New file, included if present for ${MACHINE_ARCH} by bsd.kmod.mk. 1999-03-10 06:41:48 +00:00
mycroft e7f1ddf4a1 Update for psm -> pms conversion. 1999-03-06 06:12:49 +00:00
mycroft 0d847118f6 XXX Disable PnP until pcic_isapnp works on this port. 1999-03-05 07:33:19 +00:00
chs ae4890afdf fix printf format types and other stale DEBUG code. 1999-03-04 06:47:21 +00:00
chs 6b8f2e95a4 fix printf format types. 1999-03-04 06:46:23 +00:00
mjacob 7c785b8a35 Well, sizeof needs to be printed with a %lu- I guess not many people build
debug kernels!
1999-03-04 02:16:56 +00:00
nisimura 370ab4d04e - Make compilable with DECstation. Looks running well on MI SCSI enabled
kernel.  Will be relocated to sys/dev/tc/ soon.
1999-03-02 01:44:30 +00:00
ross e47e3c9f45 schedclk() -> schedclock(), for consistency with hardclock(), statclock(), ...
update comments for recent scheduler mods
1999-02-28 18:14:57 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
scottr d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
thorpej 3dfa044911 Move declaration of prom_slock. 1999-02-26 03:59:14 +00:00
thorpej 2b5175cd53 Fix printf formats. 1999-02-26 03:57:10 +00:00
ross 321c6be8de Enable eap (Ensoniq AudioPCI), sb (SoundBlaster), and sv (S3 SonicVibes). 1999-02-25 12:37:39 +00:00
thorpej 07304bd858 On multiprocessor systems, it is possible that a lev1map might be in use
by two processors concurrently.  This means that we cannot modify the
lev1map in use by the processor which wishes to use the PROM.

Fix this by creating a separate lev1map for PROM users.  This lev1map
is a copy of the kernel_lev1map, with the exception of the necessary
PROM mapping.  When a processor wishes to use the PROM, it switches
its PTBR to point at the prom_lev1map, performs the PROM operation,
and switches back to its previous lev1map.

Note that kernels without multiprocessor support use the old method
of modifying the current lev1map.

Also, serialize access to the PROM via a spin lock.
1999-02-25 03:43:14 +00:00
thorpej 45a5ad4153 Fix an uninitialized variable. 1999-02-24 23:35:25 +00:00
thorpej 726091e400 Explicitly include opt_multiprocessor.h, rather then relying on its
implicit inclusion by pmap.h.
1999-02-24 19:36:04 +00:00
thorpej a65d3ba579 Note that the way the temporary PROM mapping is handled is completely
broken on multiprocessor systems.
1999-02-24 19:25:56 +00:00
thorpej 4cdbd84b63 First-cut at multiprocessor TLB shootdown. This simple implementation can
probably be improved somewhat, but an attempt to be efficient has been
made.

Note: TLB shootdowns are NOT YET ENABLED.
1999-02-24 19:22:16 +00:00
thorpej 911465b54c Restructure the IPI code a little, allowing multiple IPIs to be sent at
once.  Add a way to broadcast an IPI to all processors (except the sender,
obviously).  Add an IPI for TLB shootdown.
1999-02-24 19:17:09 +00:00
thorpej 76e4555f2c Now that we have the kthread mechanism, massively clean up the way
additional processors are spun up on multiprocessor Alpha systems.
Now, each processor gets its own idle thread (the primary processor
uses proc0).  This idle thread is used in switch_exit(), rather than
explicitly referencing proc0.

Also, make `curproc', `fpcurproc', and `curpcb' per-cpu values.  This
required some data structure rearrangement; cpu info is now statically
allocated in the BSS, rather than via malloc(), and cpu_softc is gone.
(Modeled somewhat after NetBSD/sparc's multiprocessor info structures.)
1999-02-23 03:20:00 +00:00
ross 16204c31ac Generate the new schedclk() call into the MI kernel. Set schedhz
here to indicate that.
1999-02-23 02:56:40 +00:00
ross b4a33c4e60 Scheduler bug fixes and reorganization
* fix the ancient nice(1) bug, where nice +20 processes incorrectly
  steal 10 - 20% of the CPU, (or even more depending on load average)
* provide a new schedclk() mechanism at a new clock at schedhz, so high
  platform hz values don't cause nice +0 processes to look like they are
  niced
* change the algorithm slightly, and reorganize the code a lot
* fix percent-CPU calculation bugs, and eliminate some no-op code

=== nice bug === Correctly divide the scheduler queues between niced and
compute-bound processes. The current nice weight of two (sort of, see
`algorithm change' below) neatly divides the USRPRI queues in half; this
should have been used to clip p_estcpu, instead of UCHAR_MAX.  Besides
being the wrong amount, clipping an unsigned char to UCHAR_MAX is a no-op,
and it was done after decay_cpu() which can only _reduce_ the value.  It
has to be kept <= NICE_WEIGHT * PRIO_MAX - PPQ or processes can
scheduler-penalize themselves onto the same queue as nice +20 processes.
(Or even a higher one.)

=== New schedclk() mechansism === Some platforms should be cutting down
stathz before hitting the scheduler, since the scheduler algorithm only
works right in the vicinity of 64 Hz. Rather than prescale hz, then scale
back and forth by 4 every time p_estcpu is touched (each occurance an
abstraction violation), use p_estcpu without scaling and require schedhz
to be generated directly at the right frequency. Use a default stathz (well,
actually, profhz) / 4, so nothing changes unless a platform defines schedhz
and a new clock.  Define these for alpha, where hz==1024, and nice was
totally broke.

=== Algorithm change === The nice value used to be added to the
exponentially-decayed scheduler history value p_estcpu, in _addition_ to
be incorporated directly (with greater wieght) into the priority calculation.
At first glance, it appears to be a pointless increase of 1/8 the nice
effect (pri = p_estcpu/4 + nice*2), but it's actually at least 3x that
because it will ramp up linearly but be decayed only exponentially, thus
converging to an additional .75 nice for a loadaverage of one. I killed
this, it makes the behavior hard to control, almost impossible to analyze,
and the effect (~~nothing at for the first second, then somewhat increased
niceness after three seconds or more, depending on load average) pointless.

=== Other bugs === hz -> profhz in the p_pctcpu = f(p_cpticks) calcuation.
Collect scheduler functionality. Try to put each abstraction in just one
place.
1999-02-23 02:56:03 +00:00
thorpej fbca0a78d7 Do all the fancy printf format checking. 1999-02-23 01:00:51 +00:00
thorpej ca42d26309 GENERIC already has DDB. 1999-02-22 19:14:46 +00:00
fvdl f927176889 Add internal 3com PHYs for the ex driver. 1999-02-22 07:44:50 +00:00
mycroft 0d22ee1396 Use DMAMODE_DEMAND. Tested on an AS200. 1999-02-22 02:52:24 +00:00
mycroft 4449a6ef39 Kill vestiges of isa_establish(). 1999-02-19 16:15:06 +00:00
mycroft e3dc7a4881 Okay; pcic_isapnp doesn't quite work yet. 1999-02-18 21:54:04 +00:00
mycroft 9bf7aaa65f Add pcic_isapnp. 1999-02-18 21:27:54 +00:00
thorpej bd72e4386f Add floppy controller and drives. 1999-02-18 20:39:04 +00:00
mycroft 3bf5fab3c0 Add a floppy drive. 1999-02-18 20:18:54 +00:00
thorpej 1df60a8989 Floppy driver for NetBSD/alpha, copied from i386 port, and munged to take
out the i386'isms (i.e. no NVRAM read for default floppy type; floppies
just default to 1.44MB).
1999-02-18 20:15:53 +00:00
mycroft 1445849c2f Add:
* PCI VGA (tested with Imagine-128)
* ISA SoundBlaster (tested with SB1!)
* AudioPCI (tested with ... AudioPCI!)
* PnP SoundBlaster (currently loses in 16-bit mode due to extent lossage)
* SonicVibes (currently loses; see sv.c commit log)
1999-02-18 16:42:31 +00:00
mycroft 579eeb8cf7 If we have to increase the boundary due to the spill pages, use the old
boundary as an alignment.  Otherwise we fail to enforce the old boundary,
causing massive lossage.
1999-02-18 08:55:16 +00:00
mjacob 1611b4799f Gronk. DWLPX comment in a MCPCIA file. 1999-02-17 03:17:17 +00:00
veego 8dcc2f0651 Add support to boot from ide hard disks. 1999-02-16 07:25:43 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
thorpej 22a5cb007f Fix printf format warnings on Alpha. 1999-02-13 02:41:40 +00:00
thorpej 02d221f94a Fix printf format problems on Alpha. 1999-02-12 06:25:13 +00:00
thorpej db631acd8a Fix printf format problems on Alpha. 1999-02-12 06:07:52 +00:00
thorpej 5194c207d0 Fix printf format problems on Alpha. (IRONIC?!) 1999-02-12 01:45:42 +00:00
thorpej c9f76153fa Add some missing newlines in printfs. 1999-02-08 19:37:29 +00:00
mycroft 5542a949cd Config for for an AS200 with TGA/WSS/PCMCIA (although the TGA and PCMCIA aren't
fully functional yet).
1999-02-06 20:22:43 +00:00
thorpej 8ef63cdb2c Print some more info in pmap_alloc_physpage() if no pages are available,
and enhance some DIAGNOSTIC messages.
1999-02-04 19:49:22 +00:00
thorpej 390864a7a5 Define a macro which has human readable strings corresponding to PGU_*
constants.
1999-02-04 19:48:21 +00:00
mycroft be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
tron 899ac42bec Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".
1999-02-01 23:18:56 +00:00
ross a1b52a0723 Remove the original -g, as a duplicate was (accidently?) added in 1.108,
and comment it out like it used to be, at least for now.
1999-01-28 18:03:56 +00:00
thorpej 72a506557e Update. 1999-01-26 01:38:00 +00:00
ross a9dbb4bc3c ne* at pci? ... 1999-01-25 07:55:32 +00:00
mycroft 897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
drochner 6fe2522d57 second round of mouse renaming: psm->pms 1999-01-23 16:10:47 +00:00
ross c79856181a NetBSD RCS id. 1999-01-18 20:36:22 +00:00
ross 7346c0043b FreeBSD's fpu.h. 1999-01-18 20:33:23 +00:00
chuck 3a1fcc746e MNN is now the only option possible 1999-01-16 20:04:22 +00:00
thorpej 8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
drochner 35eeb3f1cd remove dummy "load_font" entries 1999-01-11 21:54:22 +00:00
nathanw d2f4d39a08 wskbd, not wskbs. 1999-01-10 22:51:46 +00:00
mjacob b7a8ca1386 For some reason (I don't know why nobody else has seen this)
egcs-2.91.57 didn't like the void * subtraction on line 904.
I'll risk everyone's wrath by casting around it.
1999-01-10 03:16:21 +00:00
thorpej e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
augustss fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
thorpej cd93f8dfc9 - Add adv and adw SCSI controllers, commented out, as they do not yet
work.
- Add USB stuff.
- Add new pcscp SCSI driver.
- Comment out wss driver, as the configuration listed hangs some systems
  cold.
1999-01-06 23:42:27 +00:00
ross 509315b9e0 We don't call prom_open() here anymore, so don't call prom_close() either! 1998-12-28 09:12:52 +00:00
thorpej 3bd57bb34b Correct a panic message. 1998-12-18 19:52:11 +00:00
augustss e481435c53 Add sv driver. 1998-12-10 19:01:41 +00:00
augustss 8398f3a4db Add ugen, a generic USB driver. 1998-12-08 15:52:31 +00:00
thorpej 7fa243e59e Pass the symbol table size, like a.out. 1998-12-04 20:22:36 +00:00
ross 33038ca087 Tweak this so it will build and run on ILP32 hosts, anyway, 0x...LL constants
are blessed by the C9X draft.
1998-12-03 04:16:18 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
thorpej 11f3c29221 Add USB devices. 1998-11-29 06:57:46 +00:00
thorpej 958666b11a Oops, restore pcb_onfault if a fault occures in kcopy(). Pointed out by
Charles Hannum.
1998-11-26 20:26:52 +00:00
pk 4dc534f05d Export the `pcmciabus' attribute on the `pcic' controller. 1998-11-26 15:35:58 +00:00
ross 8bc9c17338 Disable sanity checks and unnecessary setup for conblock (-b) mode. 1998-11-25 21:19:35 +00:00
hwr 59acb69be1 Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
mjacob 6b12feab6d add missing include file 1998-11-25 19:58:47 +00:00
tv 182b5b1d68 Sync with various options in GENERIC that were not added/changed here. 1998-11-25 18:37:48 +00:00
tv e7f7d54046 The wss driver does work (AS200/233 uses it). Uncomment. 1998-11-25 18:37:27 +00:00
kml ba30effcf8 Changes to support a HIPPI Framing Protocol device, which allows raw
HIPPI packets to be written without having to go through the network
stack.
1998-11-20 04:12:57 +00:00
ross 8d957efade Sigh, shuffle the nsio ide frobber yet again. 1998-11-20 03:58:22 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
ross 3f24fce866 More include shuffling. 1998-11-19 02:53:47 +00:00
ross b0f44850f5 Don't insist on an FFS if we are in contiguous block (-b) mode. 1998-11-19 02:44:40 +00:00
ross d963824bdc #include <machine/intrcnt.h> 1998-11-19 02:35:39 +00:00
ross bc9cb58205 Fix interrupt map for baseboard bridge. 1998-11-19 02:33:37 +00:00
ross 47c613e7dd #include <machine/alpha.h> 1998-11-19 02:29:49 +00:00
ross 4ea2865631 +#include <machine/alpha.h>
+#include <machine/intrcnt.h>

Also, this module gets the junk I/O IDE channel frobber that used to
be in dec_axppci_33.c, so it can be called for the eb64plus also.
1998-11-19 02:28:56 +00:00
ross 372977cf54 Nuke the final holdout of INTRNAMES_DEFINITION.
Do a nice gas.new .rept/.endr loop and also pad each string with spaces
in case a platform actually does want to rewrite the names.

G/C some EVCNT_COUNTERS stuff.
1998-11-19 02:27:29 +00:00
ross b9fa3646cb #include <machine/intrcnt.h>
#include <machine/alpha.h>
g/c some EVCNT_COUNTERS stuff.
1998-11-19 02:23:15 +00:00
ross c6c1b0098f #include <machine/alpha.h> 1998-11-19 02:22:01 +00:00
ross ee226b43f1 Include <machine/alpha.h> and do not directly include <bus.h> 1998-11-19 02:20:07 +00:00
ross 7221bd8229 +#include <machine/alpha.h>
-#include <machine/bus.h> (done for you by alpha.h)
Take the junk I/O chip IDE channel frobber and move it to machdep.c.
1998-11-19 02:05:07 +00:00
ross d3509bcc51 Clarify the 1000/1000A situation: two variation tables and an all-purpose
backup platform.family string.
1998-11-19 02:02:45 +00:00
ross 9b7ad6c70c #include <machine/alpha.h> 1998-11-19 01:59:39 +00:00
ross 8470625657 New module to hold the alpha-specific prototypes that don't need to be
exported to the MI kernel. Almost everything here was formerly in cpu.h.
Optionally, this module could in the future be used to #include anything
that is always needed by arch/alpha modules.
1998-11-19 01:57:56 +00:00
ross 19a4c3110c Rip out 70 lines of (all of) the port-alpha-specific decls and prototypes.
They should not be visible to the MI kernel and the MI kernel shouldn't
depend on this junk.  Most of it moves to new module <machine/alpha.h>.

Leave badaddr() here, though, because it's used so widely.
1998-11-19 01:51:40 +00:00
ross e2e3ee52ae Nuke the giant ugly-as-sin per-platform INTRNAMES masterpiece.
I just cannot add one more platform without getting sick.
Instead, we do just one table for all platforms. More-or-less,
it was only the A12 that even named it's individual interrupts anyway.

Also, prototype set_iointr() here. It's a slightly odd place, but 10*
better than the old place it was, and this file is included by exactly
the perfect set of .c files for set_iointr() visibility.
1998-11-19 01:48:04 +00:00
ross a68dbb068a Stop including <machine/alpha_cpu.h>; we already export <machine/cpu.h>. 1998-11-19 01:42:37 +00:00
ross da8b1017f4 "extern struct rpb *hwrpb" belongs here (duhhh) 1998-11-19 01:41:36 +00:00
oster cf5710c839 Added a (commented out) configuration line for the RAIDframe device driver. 1998-11-16 16:44:55 +00:00
oster c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
mjacob c0782a3653 more printf cleanups 1998-11-11 21:40:38 +00:00
thorpej 49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
chs 61458d7dfa LOCKDEBUG enhancements for non-MP:
keep a list of locked locks.
use this to print where the lock was locked
when we either go to sleep with a lock held
or try to free a locked lock.
1998-11-04 06:19:55 +00:00
fvdl 42921bd66d Add the ex driver. 1998-11-04 00:40:03 +00:00
ross cee6f4a531 Implement the new BUFCACHE option. 1998-11-02 04:43:23 +00:00
mjacob 3bcd2ef84d fix botched printout format 1998-11-01 00:03:08 +00:00
mjacob 82b48f66b6 If NSIO not defined, compile errors. 1998-10-31 23:51:05 +00:00
briggs 67be755f17 DTRT if sfb is not configured in the kernel. 1998-10-23 23:49:31 +00:00
briggs 2db4e51dad Kernel config for wscons/serial console support for TC alphas, based on
GENERIC.  This can go away when NEW_SCC_DRIVER hits prime-time.
1998-10-22 01:05:36 +00:00
briggs ab9470909c Preliminary support for both serial consoles and kbd/display wscons
consoles for TC alphas.  Based on code from Takuya Koumoto
<takuya-k@is.aist-nara.ac.jp> as well as some parts of Toru Nishimura's
and Matthias Drochner's work on pmax wscons.  This relies on the
NEW_SCC_DRIVER.
1998-10-22 01:03:07 +00:00
tron b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
briggs ba0625f1f5 vm_offset_t no longer exists. Change to paddr_t, vaddr_t, and psize_t. 1998-10-19 00:32:44 +00:00
ross 3707ad314c History. INSTALL is now used on the floppy set and combo CD/HD/tape image. 1998-10-16 00:15:15 +00:00
drochner 5bdff43727 Initialize default disklabel properly: Whole disk is RAW_PART, not 'a'. 1998-10-15 19:08:33 +00:00
drochner 2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
ross 3e35915bc3 Don't use big 16K blocks for the -b contiguous secondary boot installation.
It leads to confusion about where the end of the image is on tape boots.
1998-10-15 01:05:20 +00:00
ross 16bf3552bb Save a0 during bss clear. 1998-10-15 01:02:55 +00:00
ross 9f7ca48f3b Delete prom_open() wrapper routine. Other clients of prom_open
can use the prom.h dispatch macros instead, especially since they
all presently expect the raw return bits.
1998-10-15 01:02:15 +00:00
ross c84b7f501e Delete bogus prom_open() prototype. 1998-10-15 01:00:56 +00:00
ross 412f6ae85b Grab booted_dev_fd parameter from bootxx. It won't be there for netboot
but there should be no harm done.
1998-10-15 01:00:07 +00:00
ross 6336abe01a const'ify 1998-10-15 00:56:56 +00:00
ross df51a43618 Rototill the primary boot for...
1. much faster speed
  2. support of more media types
1998-10-15 00:55:48 +00:00
ross c33589db84 Consult osrelease.sh and pass down NETBSD_VERS 1998-10-15 00:52:38 +00:00
ross 74f36b2497 Try the ustarfs open first...it's the only one that can't necessarily
seek. We might be reading a tape and the extra superblock reads will
eat up tape records.
1998-10-15 00:51:22 +00:00
ross 9c29657a67 Extern def for raw prom disk file descriptor. 1998-10-15 00:49:34 +00:00
ross b0367fb980 Don't actually do the raw prom open here. 1998-10-15 00:48:55 +00:00
ross 8447dd624c 1. STANDALONE -> _STANDALONE
2. Key raw prom interfaces defes on ENABLEPROM
3. Define the prom "ioctl" magtape functions.
1998-10-15 00:47:28 +00:00
ross d4e2b18bb1 Define ENABLEPROM, which turns on the raw prom interface defs. 1998-10-15 00:45:52 +00:00
matt 495a4bdb2c Sync with new IDE support (e.g. pciide changes) 1998-10-14 18:31:34 +00:00
matt f8e4127109 Remove pciide definitions in files.alpha since they are now in files.pci 1998-10-14 18:00:11 +00:00
kleink cee25f5a9c Since libc is not ready for enabling weak symbol support yet, disable the
WEAK_ALIAS() macro for now (like cdefs.h).
1998-10-13 11:39:26 +00:00
thorpej 908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
ross b6553585ab g/c leftover `{' in #if notdef; it confuses ctags(1) 1998-10-07 19:09:53 +00:00
thorpej b38544d99e Oops, back out a buglet I didn't intend to commit in the last change. 1998-10-07 18:29:26 +00:00
thorpej abaeca8063 Move the calls to hwrpb_restart_setup() and cpu_run_spinup_queue() to the
end of configure().
1998-10-06 21:19:05 +00:00
thorpej 2038eb830c Split hwrpb_restart_setup(), putting the code that initializes the vtpb
and primary hwpcb into hwrpb_primary_init().  Call the latter before
performing autoconfiguration().
1998-10-06 21:10:46 +00:00
thorpej d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
ross ddde128de9 Track compat/linux/arch/* reorg. 1998-10-05 05:55:35 +00:00
ross b9fef4b8ad The 2-disk install floppy allows us to add:
* 3000-series CPU support, plus all the tc devices
	* 4100-series CPU support
	* misc SCSI HBA support (removed earlier for space reasons)
1998-10-05 05:04:46 +00:00
matt 4a1b880605 Add files.usb. It should work. 1998-10-05 00:49:15 +00:00
christos c0f54daf70 Add em_alpha_exp 1998-10-03 18:17:14 +00:00
ross 78492e307a If not MULTIPROCESSOR then identify the interrupt target cpu by hwrpb id (%d)
rather than attachment name, and hence avoid referencing `cpus'.
1998-10-01 22:57:30 +00:00
erh b0367216c1 Macros to call a linux syscall. 1998-10-01 16:19:59 +00:00
erh 79a9d0776d Add linux compat includes. 1998-10-01 16:18:53 +00:00
erh b9e8494b1d Add linux signal trampoline code. 1998-10-01 16:18:46 +00:00
thorpej 21adfe5c18 Oops, brain'o. 1998-09-29 23:45:25 +00:00
thorpej 16b0d8f1e4 Disable the code that halts secondary processors in cpu_reboot(). Halting
the secondary works, but not when called from here?!  XXX!
1998-09-29 21:59:33 +00:00
thorpej ce57c93ef5 some temporary debugging printfs in the IPI code. 1998-09-29 19:40:33 +00:00
drochner fb345194ad document CLOCK_COMPAT_OSF1 1998-09-29 18:25:54 +00:00
drochner 70d1e71ea0 Allow to use the RTC chip in a way compatible to OSF/1: use an offset
of 52 years between RTC and UNIX time.
This is controlled by "option CLOCK_COMPAT_OSF1".
1998-09-29 18:23:55 +00:00
drochner 88b626a585 make compile w/o MULTIPROCESSOR 1998-09-29 15:55:47 +00:00
thorpej 69d81d8df1 Prototype cpu_halt_secondary(). 1998-09-29 07:07:36 +00:00
thorpej 30e4de5632 In cpu_reboot(), halt the secondary CPUs. 1998-09-29 07:07:09 +00:00
thorpej 1b8e855f2a First try at a HALT interprocessor interrupt handler. 1998-09-29 07:06:02 +00:00
thorpej 94b97dce9b CPUF_HATCHED is dead, replaced by cpus_running bitmask. 1998-09-29 07:05:30 +00:00
thorpej 99698d1a1a - Use a bitmask for "running CPUs", rather than a flag in the softc.
- Add a function to halt a secondary CPU.
- Enable interrupts on secondary CPUs once they've hatched.
1998-09-29 07:04:58 +00:00
thorpej 469f020ae3 Don't process CLOCK or DEVICE interrupts if we're not the primary CPU. 1998-09-29 07:02:04 +00:00
thorpej 30ec5015b1 In exception_return(), if MULTIPROCESSOR, skip software interrupts, ASTs,
and floating point handling if we're not the primary CPU.
1998-09-29 07:01:16 +00:00
thorpej 392a96cc91 Define the offset of hwrpb->rpb_primary_cpu_id. 1998-09-29 06:22:09 +00:00
thorpej 183f609c83 - Do not set TLCPUMASK on non-I/O nodes. That register exists only on
I/O nodes.  Previous code erroneously set it on CPU nodes only.
- In both the single- and multi-processor case, route all interrupts from
  I/O nodes to the primary CPU, for now.
1998-09-29 04:22:36 +00:00
thorpej 4c2e179b93 PROM doens't need to be mapped to start up the secondaries, so remove some
dead code.
1998-09-28 22:21:13 +00:00
thorpej 9bd45385a9 Turn off some debugging printfs, and kludge around a boot block bug until
I can install fixed boot blocks on my MP test systems.
1998-09-28 21:50:32 +00:00
thorpej 705cac105e Invalidate the TB and I-stream upon entry, and fix a typo in the wrkgp call. 1998-09-28 21:48:50 +00:00
thorpej 34a8ac8484 Set the primary CPU's PAL revision to the OSF/1 PAL revision after switching
to it, per the Green Book (pointed out by Chris Demetriou).
1998-09-28 21:21:55 +00:00
thorpej 5caecb6ae0 Fix for some EGCS warnings. 1998-09-28 21:18:55 +00:00
drochner 980b2b416f fix PMAP_ACTIVATE_ASN_SANITY() arguments 1998-09-27 17:23:25 +00:00
thorpej 2c50ec242f Add basic interprocessor interrupt sending and receiving code. Current
IPI functions: HALT, IMB, TBIA, TBIAP.

XXX HALT is not yet implemented, it's just a stub.
1998-09-26 00:03:51 +00:00
thorpej 78d445810b Add an interprocessor interrupt bitmask to the cpu_softc, and publicize
the cpus[] array.
1998-09-26 00:01:17 +00:00
thorpej 1f4921edce - Oops, forgot to initalize the cpu_softc simplelock.
- Add yet another debugging printf.
1998-09-26 00:00:33 +00:00
thorpej e2aa38459c Implement atomic quadword load-and-latch. 1998-09-25 23:59:42 +00:00
thorpej 01c75223d7 Minor style tweaks. 1998-09-25 22:06:33 +00:00
thorpej d3ce2be01c Don't bother printing the message from the secondary console. All it is
is basically the acknowledgement of the START command.  Print the idle
USPACE address for now.  Use the alias "apcb_backup_ksp" when setting the
backup kernel stack pointer in the secondary's boot HWPCB.
1998-09-25 03:23:50 +00:00
thorpej 57e656b2ec The processor unique value in the PCB is used as a backup kernel stack
pointer when booting secondary CPUs.  Add an alias for it.
1998-09-25 03:21:31 +00:00
thorpej 3ea9247ac8 GENERIC config file + MULTIPROCESSOR + some debugging stuff. 1998-09-25 00:46:09 +00:00
thorpej fcb0203141 First-cut at code to spin up secondary processors on a multiprocessor
Alpha system, conditional on MULTIPROCESSOR.

NOTE: This does not yet work completely.  The secondary CPU begins the
boot process, but never makes it into the cpu spinup trampoline.  This
is merely a snapshot of a work-in-progress.
1998-09-24 23:28:17 +00:00
thorpej feb1d22dcc NCPU > 1 -> MULTIPROCESSOR 1998-09-24 23:00:43 +00:00
thorpej 3cde5f5817 Machine-dependent spin lock operations for Alpha, included if MULTIPROCESSOR
is specified.
1998-09-24 22:32:35 +00:00
thorpej 91a031471d Implement atomic test-and-set for longwords (32-bit). 1998-09-24 22:22:07 +00:00
thorpej 1b04ff4897 Make prom_enter() and prom_leave() public. 1998-09-24 21:18:13 +00:00
thorpej ba6d13d876 Use the primary CPU ID on console_restart(), not hard-coded 0. 1998-09-24 21:12:43 +00:00
ross e43333b7e7 Move if_ade* from alpha/pci/ to alpha/a12/ 1998-09-24 05:36:05 +00:00
ross 09c3723e08 Put back ahc and bha scsi HBA driver configs. 1998-09-24 05:33:41 +00:00
ross 81ea242049 Fix include path, these days a12 header files are in alpha/a12. 1998-09-24 05:32:52 +00:00
ross ec4de2679b Track tfs -> ustarfs change. 1998-09-24 05:23:58 +00:00
thorpej c69dbb3c28 Actually, yes we do know what the rpb_restart entry point is used for,
so delete some #if 0'd code.
1998-09-24 03:39:24 +00:00
thorpej 7521c309df When setting up the hwrpb for restarts, use the primary CPU ID from the
hwrpb.
1998-09-24 00:30:19 +00:00
thorpej 7df5ebc392 "Gee, there was already a function to do that." 1998-09-23 22:02:21 +00:00
thorpej 53d42701b5 Implement a function to recompute the HWRPB checksum. 1998-09-23 21:51:04 +00:00
ross 86f044d10e Track changes elsewhere in the PCI interface. 1998-09-23 21:20:55 +00:00
ross 55714d5b34 Update for vm_offset_t, vaddr_t sweep. 1998-09-23 21:17:17 +00:00
ross ddde99135e A12 crossbar switch driver. 1998-09-23 21:14:58 +00:00
ross 73fdd29a64 A12 detached console tty driver and NetBSD console interface. 1998-09-23 21:14:02 +00:00
thorpej d720002637 Fix a typo in RCS keyword. 1998-09-22 16:23:20 +00:00
thorpej 5fa16c668b Define the inter-console communication buffer portion of the per-cpu
info structure.
1998-09-22 08:16:51 +00:00
ross ec49dd71dd Change 41 separate printf()'s into a table and 2 printf()'s. 1998-09-22 06:24:26 +00:00
thorpej 6871d2529f Add missing mb ops. 1998-09-22 06:10:53 +00:00
thorpej 402a9210a2 Implement quadword atomic test-and-set. 1998-09-22 05:56:52 +00:00
ross 5b01d45ac4 Add a `-b #' option and logic for locating the secondary boot image via
an absolute block address. It's cheating, as the motivation is support for
the libsa ustar tfs `filesystem' and the solution symmetrical to ufs and
cd9660 would have been to teach installboot about tfs. However, it still
would have been different as you can't mount a tfs with the kernel, and
this option gets possibly useful support for any contiguous format, even
completely raw boot images.
1998-09-22 05:03:36 +00:00
thorpej e10cc7910d Add some support for multiple processors to the pmap module. Still left
to do: TLB shootdown code, but that will be much easier to write once
the code to spin up the additional CPUs is working.
1998-09-22 03:58:10 +00:00
ross 5fb9c16f05 While we are here in alpha/stand, bail out on ^C during boot. 1998-09-22 00:41:13 +00:00
ross 10da0cf1c3 Add fs_ops to file_system[] for the ustar-format `tfs'. 1998-09-22 00:39:31 +00:00