Commit Graph

2435 Commits

Author SHA1 Message Date
pk f8ac5484fa Medium sized code overhaul:
* Improve communication between the `hard' and `soft' interrupt handlers
  to better distinguish various interrupt sources.
* Eliminate several race conditions where we would set a time out handler
  only after starting the command on the hardware.
* Handle most timeouts by resetting the controller; there isn't much chance
  of recovery in any other way.  Currently, the exception is a timeout
  on I/O, in which case we first try to pulse the controller's TC line
  in order to abort the pseudo-dma sequence.  Apparently, "normal"
  conditions can induce such a timeout when there's no disk in the drive.
* Reduce the formatting gap parameter to 0x54.
* On the obio bus, interpret the `status' attribute.
* Minimize console diagnostic output if the errors we get appear to be
  caused by the absence of a disk.
2000-01-21 13:22:01 +00:00
sommerfeld aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
wrstuden 87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
thorpej a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
tsutsui 644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
thorpej 4f27a98702 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:48:02 +00:00
pk 725c6438c1 Use bus_space(9) functions to access the controller registers.
Add probes to the attach routines before poking the chip to see
where the registers are located.
2000-01-17 16:57:15 +00:00
pk 2d7f7ef7a6 Use bus handle to in `struct fdio' to read the chip registers. 2000-01-17 16:53:18 +00:00
pk 611f7a9938 Add offset to bus handle in `struct fdio'. 2000-01-17 16:52:04 +00:00
pk c31e760978 Add missing `break'. 2000-01-14 15:25:28 +00:00
pk 3cb5a866dd Expand md filesystem to 3.6MB. 2000-01-14 13:41:45 +00:00
pk e42b2c6cb7 When matching scsi disks, check for the scsibus parent in the previous
entry in the boot path. Noted by Matthew Jacob.
2000-01-12 15:53:29 +00:00
mjacob e7f230b6d2 no need to guess about tgt/lun bounds- we know what they are 2000-01-12 14:53:17 +00:00
pk 7935de2d85 Use a table to detect device aliases and add various `isp' and floppy
controllers to it.  Also use a table lookup when matching busses/controllers.
2000-01-11 20:53:24 +00:00
pk c6b6f3883a Remove old-style boot device recognition. 2000-01-11 12:59:43 +00:00
pk a744e28304 Cleanup the list of exported headers a bit. 2000-01-10 22:09:34 +00:00
pk 20018b9be8 Add special code for recognising a floppy drive as the boot device.
Sun's PROMs don't co-operate here, so there are _hacks_ involved...
2000-01-09 20:53:30 +00:00
pk a77d141b28 Deal with `24 bit' devices which can still be plugged into an Sbus slot. 2000-01-07 10:54:11 +00:00
pk 8cbc7288d0 * Expand IOMMU DVMA space to top of address space.
* Remove confusing comments.
2000-01-04 15:08:30 +00:00
kleink 693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
pk 4681e48204 Remove private kernel members from `struct fpreg'; update accompanying comment. 1999-12-30 23:59:29 +00:00
pk f152d57aa2 Make sure to reset the FP queue when loading new values into FP registers. 1999-12-29 15:21:27 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
jdc 016b030623 Added tctrl.h 1999-12-20 09:49:20 +00:00
garbled e89216c73c avoid uninterruptable sleep on a CMD_REQ ioctl. 1999-12-17 00:32:25 +00:00
thorpej 18ab712015 Provide cpu_boot_secondary_cpus(). 1999-12-16 20:24:58 +00:00
garbled f02b80418b add <machine/tctrl.h> where needed.
Add some undocumented commands to the ts102 registers file, and fix a few
typos.

Modifications to tctrl.c:

Add entrypoints to driver for open/close/ioctl/poll.
Make device work with apmd. (still no support for suspend/sleep)
Make device work with ENVSYS API.
Slightly restructure handling of events.
Add function to make microcontroller requests.
1999-12-15 08:12:30 +00:00
garbled dd9ad672a9 add entrypoint for tctrl device, and add <machine/tctrl.h> to includes for
machdep.c
1999-12-15 08:03:43 +00:00
garbled 5e200de9b7 Add new spl level for tadpole devices splts102.
Device entrypoints for tctrl device (tadpole micro controller)
add header for direct-access ioctl to the tadpole microcontroller.
1999-12-15 08:01:00 +00:00
ragge 26e1b45757 clrnd()/clbase() discarding. 1999-12-05 11:56:30 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
mrg b27ecf75a9 oops; remove part of the previous that was not intended (yet). 1999-11-30 07:56:28 +00:00
pk a24fb44ddf Pull header files from `syssrc' since we use libsa/loadfile(). 1999-11-29 14:49:12 +00:00
mrg 2c11d38827 add some missing #ifdef SUN4M to the MP-handling code. 1999-11-27 14:54:53 +00:00
mrg 9a6c8313f7 minor cosmetic merges; long way to go here. 1999-11-27 12:14:26 +00:00
mrg 264af07cff merge sparc64 types.h; these files are now identical. 1999-11-27 11:33:39 +00:00
mrg d7e14b468a more sparc64 merging; these files are (basically) identical. 1999-11-27 11:20:41 +00:00
mrg faa527dcc9 merge sparc64 limits.h; these files are now identical. this includes
a `fix' for when s?size_t was changed from int to long but the
definitions of S?SIZE_MAX were left as U?INT_MAX.  these are now
U?LONG_MAX.
1999-11-27 11:14:40 +00:00
mrg 492e85822e MNN has been standard for a Long Time. 1999-11-27 10:22:19 +00:00
mrg 484cb25f55 s/long/int/ to make this identical the sparc64 version. 1999-11-27 10:10:02 +00:00
pk e0118ca933 Suppress the `machine' symlink when making target `obj'.
Also add it to the clean target list.
1999-11-25 13:27:30 +00:00
pk 633fd1e1cc Check presence of Sbus interrupt properties before using them. 1999-11-21 15:23:01 +00:00
itojun e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
chs 7fa6c707d3 update a prototype for the new pmap_enter(). 1999-11-17 06:16:49 +00:00
fvdl 8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
thorpej 4ab7f024dc Fix a couple of pmap_enter() calls I missed. 1999-11-15 00:06:58 +00:00
thorpej 2cfc62b5ae Update for pmap API change. 1999-11-14 02:39:09 +00:00
matt 3ca3e51df8 Nuke TCP_COMPAT_42. Use sysctl to enable it if required. 1999-11-13 20:56:14 +00:00
pk a9cdefb6e6 Remove implementation of the `-h' and `-a' options. 1999-11-13 12:09:41 +00:00
thorpej 1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
kleink c52f431558 Bring high-resolution time interfaces closer to SVR4:
* Change gethrtime() to use mono_time.
* gethrvtime() is defined to return the lwp/process's virtual time;
  use p_rtime augmented with the current runtime.

Reviewed by: christos
1999-11-12 20:45:44 +00:00
matt d2434ef890 remove reference to auxiotwo 1999-11-12 06:15:38 +00:00
matt 73ae3282ab turns we need to tweak the auxio1 reg to enable the modem. also fix a call
to sbus_bus_map.  it's closer to working but I wonder if COM_FREQ is the
right value.
1999-11-12 05:20:03 +00:00
matt 8ffb2596c7 make this compile under current 1999-11-12 04:42:19 +00:00
matt 3744fe193f add some stuff needed for pcmcia support 1999-11-12 04:41:46 +00:00
matt 1138f7e762 add COMPAT_14 1999-11-11 15:55:53 +00:00
mycroft 8f05f33e49 Move the boot block load address from 3MB to 7MB. The INSTALL kernel is
already too large, and GENERIC won't be far behind.
1999-11-09 18:39:41 +00:00
pk 560567d851 Include <sys/exec.h> instead of <a.out.h>/ 1999-11-08 23:29:56 +00:00
pk a96dbfa190 Remove inclusion of unused headers. 1999-11-08 23:29:05 +00:00
pk 1ad621b38f Handle empty `input/output path' when looking for console device; patch
from Brian D. Chase.
1999-11-07 16:36:16 +00:00
mycroft 4c0911c827 Make this more current. 1999-11-07 01:09:12 +00:00
chs 07e5d68b51 several fixes to copy{in,out,}str() from charles and myself:
don't panic if maxlen == 0, just return ENAMETOLONG.
treat maxlen as unsigned like the manpage indicates.
avoid crashing if the userspace address is >= KERNBASE.
make sure *done is 0 when no bytes are copied.
1999-11-05 04:49:26 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
pk fbfe8a4407 Comply with recent MI scsi changes. 1999-10-21 13:46:06 +00:00
phil 54eed2bc37 Add in the Coda file system and pseudo device. 1999-10-14 16:09:31 +00:00
phil 15ef719178 Add a psuedo-device for coda. 1999-10-14 00:08:45 +00:00
jdolecek 7f589dba84 rename the MD Debugger() to cpu_Debugger()
add MI Debugger() which switches to console if wscons is used prior
to calling cpu_Debugger()
1999-10-12 17:08:56 +00:00
pk 8800f180c3 Call find_cpus() much earlier so we can use the result while bootstrapping
all that pmap stuff.
1999-10-04 19:27:04 +00:00
pk de22be977a Since a context table is now pointing at the correct per-CPU region table
at all times, we can dispense with the hackery that patches the magic entry
at context-switch time.
1999-10-04 19:23:49 +00:00
pk b19b1fc269 Each process (i.e. each `pmap') needs a region table for each CPU.
Implement this by making the fields `pm_reg_ptp' and `pm_reg_ptp_pa'
pointers to an array of `ncpu' region table pointers and corresponding
physical addresses.

This is a somewhat unfortunate side effect of having the per-CPU data
addressable by the same virtual address on each CPU.
1999-10-04 19:18:33 +00:00
pk fa65ea182c Implement sysctl `machdep.booted_kernel'. 1999-10-04 19:11:42 +00:00
hubertf 1972c67981 Document what qec, be and qe is.
Thanks to Jason Thorpe for explaining!
1999-10-04 19:02:55 +00:00
thorpej 2b02403498 The old dk_establish() hack doens't work anymore, and should be
garbage-collected.  device_register() is the One True Way.
1999-09-30 23:01:53 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
thorpej 3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
pk 132d930986 Fix printf format (see PR#8358). 1999-09-10 08:42:58 +00:00
sommerfeld 8602e6124d add svr4_lwp.h to let this build again. 1999-09-08 04:02:48 +00:00
hannken 5c57af78d2 Remove now unused variable `i'. 1999-08-27 10:49:20 +00:00
thorpej 84670a44ef Initialize the default colormap to 0 == black, all others == full white. 1999-08-26 22:53:41 +00:00
thorpej 58858e0968 Suns use black-on-white as the default rcons colors. 1999-08-26 20:50:08 +00:00
ad 2c13aef146 - Update to match new rasops_init semantics
- Set RI_FULLCLEAR so that we clear the *entire* display
- Set RI_CURSOR and cursor position so that old cursor glyph gets wiped

Fixes PR: port-sparc/8121
1999-08-24 11:12:08 +00:00
thorpej 2cf3330a1b Garbage-collect reference to <sys/dmap.h>. 1999-08-23 22:29:37 +00:00
sommerfeld 2e95b13365 Use ${SIZE}, ${OBJCOPY} rather than size and objcopy. 1999-08-21 14:18:36 +00:00
simonb 3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
ad 8974edc06c The 8bpp PROM console uses index 0 as black, 255 as white. Update ri_devcmap
to cater. Partially addresses PR port-sparc/8121.
1999-08-13 09:59:47 +00:00
matt 74ed5b7f0f Add <machine/apmvar.h> for sparc so that apmd can be built. Eventually
this allow it work on Tadpole SPARCbook 3 laptops (and/or other sparc
with power management).
1999-08-11 02:00:09 +00:00
matt 4efe97d08f remove some more devices that are not the tadpole.
add the tctrl device (which controls the tadpole microcontroller).
1999-08-11 01:46:25 +00:00
matt ec55b51b3a do a little colormap manipulation. use the tft power hooks in tctrl 1999-08-11 01:41:06 +00:00
matt 385ed7074b This now works properly and uses interrupts. If you close the lid, the
screen will turn off and when you open the lid screen turns on.  If you
do too rapidly, the driver won't be notified but you can press the micro
switch and it will come back.  Also "halt -p" now works so you don't
have to do Pause-P to powerdown.
1999-08-11 00:46:06 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
christos 4f5d78ae59 s/(sbus | obio)/sbus for the sbus attachments. These were vestiges from
the old code.
1999-08-10 12:50:35 +00:00
christos be4c7c3513 split bwtwo driver in obio and sbus parts 1999-08-10 05:04:08 +00:00
christos 072b17778f split bwtwo driver in sbus and obio parts. 1999-08-10 04:56:30 +00:00
matt ede200e1ab Add a driver for the Tadpole SPARCbook microcontroller. It doesn't
do much yet (except for power down support).  As sson as I figure
out to get its interrupts enabled, it will be much more functional.
(e.g., print console messages on low power warnings, be able to turn
off the TFT, etc.).
1999-08-09 18:39:58 +00:00
matt 84e306ed83 Tadpoles don't use the standard sun4m power down hardware. So add
support for doing it the Tadpole way.
1999-08-09 18:35:58 +00:00
matt 1b0bd3757f add entries for the tadpole microcontroller (tctrl) and the
tadpole pcmcia controller (tpcic).  Drivers for the former will
show up today, and the latter later this week or next weekend.
1999-08-09 18:34:43 +00:00