Commit Graph

1779 Commits

Author SHA1 Message Date
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej e553a6caf0 Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
2001-04-24 15:41:38 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej 079c2e0ac9 Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
2001-04-23 23:50:22 +00:00
thorpej 5871b80f00 Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly.  On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change.  This is merely for API consistency.
2001-04-22 18:21:48 +00:00
tsutsui c6e66cb834 Define ${ELF2ECOFF} and use it so that we can specify objcopy
for it on cross environment.
2001-04-21 05:54:02 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
thorpej 316dcc474b splvec.splimp -> splvec.splvm 2001-04-12 19:21:20 +00:00
enami 2ceebb6c0e Remove unnecessary test of tp->t_linesw against NULL; they are results
of confusion while correcting compilation error after t_line is
replaced with t_linesw.
2001-03-31 00:35:21 +00:00
lukem 20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
soren 912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
thorpej 2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
cgd 8a986b2e96 convert to use getprogname() 2001-02-19 22:48:57 +00:00
tsutsui 5a0f904718 cosmetics (white space etc.) 2001-02-18 06:51:18 +00:00
tsutsui 1bbd89c7a7 white space nits. 2001-02-17 18:02:40 +00:00
tsutsui 1e70b3b673 Add a missing colon in comment. 2001-02-11 17:56:43 +00:00
tsutsui 90fc74c95b space/tab cosmetics 2001-02-11 17:49:08 +00:00
ad 4a19c21be3 In rcons_connect(): PMAX_FBTYPE_PM_COLOR should use the defaults. 2001-01-22 17:18:32 +00:00
jdolecek 8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
tv e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
fvdl c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej e573dbe78c We haven't used the 4.4BSD kadb stuff for a long time; garbage
collect it.
2001-01-16 04:34:47 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
simonb 4152b5b212 Adjust recent netboot fix to work in the 5100 as well. 2001-01-06 16:59:53 +00:00
mrg d9a9b8d6d5 the tcds cards work in pmaxen. move tcds attachment to files.tc. leave asc
at tcds in files.alpha for now, and add a new `xasc at tcds' to files.pmax.
after pmax has moved fully to MI scsi (and `asc' is MI scsi), we should move
the device asc, etc., lines to files.tc.
2001-01-01 23:43:05 +00:00
bouyer c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
simonb a8a26dd42a Remove __BROKEN_CONFIG_UNIT_USAGE, not needed on pmax. 2000-12-03 23:00:42 +00:00
simonb 26ca0704e4 Use shared Makefile.mips 2000-12-03 07:39:34 +00:00
nisimura cdc7cdbcde Back out the change of the way to grab proc0's USPACE. It produces
kernel lock up in mach_init() by a reason unknown to me.
2000-11-27 08:57:08 +00:00
soren 38a44e0d8f Consistently use pmap_steal_memory() to allocate USPACE. 2000-11-27 05:57:25 +00:00
nisimura 05960017b2 Fix an typo by cut'paste work in the previous change. 2000-11-27 05:17:06 +00:00
nisimura f6562a41a3 Use pmap_steal_memory() to glab proc0's USPACE. 2000-11-27 05:12:32 +00:00
nisimura c2c8f26967 - Nuke xasc_ioasic.h and xasc_pmaz.h as no code uses the symbols they define.
- Hide #include <pmax/dev/device.h> for "pmax oldscsi" inside
  #if NRZ > 0 || NTZ > 0.
2000-11-23 09:44:14 +00:00
ad 20ef6ae40a Fix netbooting on the 2100/3100. Partially from Thilo Manske
<Thilo.Manske@HEH.Uni-Oldenburg.DE> in PR 11212.
2000-11-21 14:21:36 +00:00
ad bd4ff2a804 PMIN vs. PMAX in boot message. Pointed out by Thilo Manske
<Thilo.Manske@HEH.Uni-Oldenburg.DE> in PR 11212.
2000-11-21 14:19:10 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
eeh c98778939f Fix tty initialization. From Arne H Juul <arnej@fast.no>. 2000-11-08 23:21:38 +00:00
mhitch b38f4a0528 From Andrew Doran:
Fix 2100/3100 monochrome font display problem.  Characters were being
rendered as a mirror-image, which was a bit hard to read.
2000-11-05 02:53:20 +00:00
simonb dde480911e Fix up line discipline change fallout. 2000-11-03 15:01:10 +00:00
mhitch 84f1b64ed1 VFB01 framebuffer is 2048 bits wide (but only displays the first 1024 bits
of each scan line).  Fix the fi_linebytes value to get the right size.
Fixes the 'compressed' display problem with the 2100/3100 monochrome display.
2000-11-02 23:37:08 +00:00
eeh 8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
dmcmahill 028cdb58b4 add '-s' option which will cause the installboot program to recalculate the
16 bit sun checksum.  This flag is needed when making iso 9660 images which
are bootable on both sparc and pmax machines.

this addresses PR port-pmax/10929
2000-10-17 01:54:30 +00:00