Commit Graph

65907 Commits

Author SHA1 Message Date
fvdl b9fcb05e95 Make this less chatty on probe/attach, to match the output of other controllers. 2003-09-02 20:59:51 +00:00
fvdl ce2fedd6fb Compile in the !MPACPI && NIOAPIC case. 2003-09-02 20:10:30 +00:00
drochner ffad96d540 add coda5, sort 2003-09-02 17:15:46 +00:00
ichiro 867de3d367 add support IO-DATA PCET/TX-R EthernetCard 2003-09-02 12:43:02 +00:00
drochner 98cfd7bc8b also feed getdents/readdir data to KTRACE 2003-09-02 12:31:35 +00:00
drochner 35755efb8c as requested by Jaromir Dolecek:
Add a "coda5" LKM which is "coda" with the "CODA_COMPAT_5" option.
This deliberately conflicts with "coda" as they can't coexist within
one kernel.
2003-09-02 12:08:45 +00:00
jdolecek fbf6a5667f make compile
adresses PR kern/22622 by Thomas Devreese
2003-09-01 17:11:03 +00:00
christos ab661a6a58 Add a new ioctl PPPIOCGRAWIN to get the last characters we got from the
remote site.
2003-09-01 16:51:25 +00:00
christos b7510d87e5 fix debugging printfs 2003-09-01 16:44:03 +00:00
pk 1d113dcde7 Can't rely on side-effects in KASSERT expressions which was pointed out to
me by YAMAMOTO Takashi.
2003-09-01 14:20:57 +00:00
dsl fafabf93cc Another attempt to get libsa to contain the right things.
- put a 'standards conforming' memcmp into memcmp.c
- make bcmp be a second label on the same code
- make bcmp.c be just #include "memcmp.c"
This means that libsa.o might contain both a memcmp.o and a bcmp.o, but
both contain the same code (defining both symbols) so it doesn't matter
which ld uses.
Saves worrying about which of bcmp.c and memcmp.c the architecture specific
Makefile requests.
2003-09-01 12:28:03 +00:00
yamt 7f7c9a3509 remove an obsolete comment.
(we now have only one inactive list.)
2003-09-01 12:16:17 +00:00
yamt b3d9c9a976 remove an obsolete comment. pointed by enami@ 2003-09-01 12:13:55 +00:00
tls 48e67d1d60 Revert previous change, which was wrong. As Enami points out, we really do
want the NO_ESTIMATE flag here, because if the source doesn't have it,
rnd_add_data will *use the time the data was added directly as entropy*,
which is not a good idea either for a hardware RNG that works like this
one (periodically polled by the driver) or, really, like any other that I've
seen, because even for "interrupt when ready" RNGs the data rate (and thus
interrupt time) will vary only slightly for a given RNG configuration over
time, if at all.

The data we add _is_ counted into the pool estimage because we directly
pass in an entropy estimate.

The overloading of the NO_ESTIMATE flag with this meaning seems, to me, like
a design bug (albeit easily fixed) in the rng interface; but until that's
changed, we need to use it here.
2003-09-01 06:30:24 +00:00
fvdl cd1ddca4f8 Use MPBIOS_SCANPCI by default. 2003-09-01 00:35:44 +00:00
fvdl e8769fc0a0 Update a few types and formats. 2003-08-31 23:24:04 +00:00
fvdl 60ae17c7ae Fix signed/unsigned warnings. 2003-08-31 22:40:13 +00:00
manu 80ae13b4df Handle colormap change requests 2003-08-31 21:10:22 +00:00
uwe f7c1e9b8e5 Comment change only, the ioctl is WSDISPLAYIO_PUTCMAP, not ..._SETCMAP.
The function is called igsfb_set_cmap() to follow the get/set/update
naming convention.
2003-08-31 14:41:15 +00:00
manu 2a523b0455 Correctly map the framebuffer. XDarwin display its background shade, hurrah! 2003-08-31 14:17:25 +00:00
fvdl 6c4d7c0fee Fix error in previous commit: the first vaddr_t argument to uvm_km_suballoc
is in/out, so it must be zeroed out before passing it, otherwise the
uvm_km_suballoc call would get stack garbage, and fail randomly.
2003-08-31 12:59:05 +00:00
ragge a808d6e157 Add stop routine. Add support for turning the device into promiscous mode.
Force interrupt in probe so that the interrupt vector can be detected.
2003-08-31 11:13:43 +00:00
chs ea3277f683 add a defflag for USELEDS. 2003-08-31 01:55:27 +00:00
chs 6e0aaa640d update for LWPs, and some lite cleanup. 2003-08-31 01:52:43 +00:00
gson 144519b826 The unit displayed when printing battery capacities and
charge/discharge rates was incorrect - the value printed is actually
in A, W, Ah, or Wh, not in mA, mW, mAh, or mWh (assuming as we must
that the period is interpreted as a decimal point, not a thousands
separator).
2003-08-31 01:36:12 +00:00
chs e46cb5bfce add some placeholders so we can at least build. 2003-08-31 01:28:58 +00:00
chs b5ed452510 just include the hppa version. 2003-08-31 01:28:22 +00:00
chs e9303b36fc disable some things that don't build yet. 2003-08-31 01:27:18 +00:00
chs a2ffedf11f add a hack for the link set stuff. 2003-08-31 01:27:00 +00:00
chs cc0b88792e update for LWPs, and some lite cleanup. 2003-08-31 01:26:31 +00:00
chs c023b4180f add "makeoptions MACHINE_ARCH=..." in std.* for mips ports
where it is constant (to ease cross-building).
2003-08-30 22:44:38 +00:00
jdolecek 62614dd63a Add sk as the PCI SysKonnect driver 2003-08-30 21:41:19 +00:00
dyoung 40e261aa72 Pull in net80211/ from FreeBSD. This contains Sam Leffler's
enhancements to the 802.11 layer, which are necessary for ath(4),
the Atheros-chipset driver.
2003-08-30 21:26:03 +00:00
fvdl 06298770b0 Add another -DBOOT_ELF64 for amd64. 2003-08-30 20:38:58 +00:00
fvdl 2d5fec0580 Remove a lot of stuff, making it closer to the i386 INSTALL. 2003-08-30 20:09:04 +00:00
fvdl ee4b42342e Add -DBOOT_ELF64 for amd64. 2003-08-30 18:25:07 +00:00
fvdl 8ea680bb14 Add -m elf_i386 (for amd64) to LD. 2003-08-30 15:24:41 +00:00
fvdl e8b1f4f135 Add -m elf_i386 to ${LD}, not ${LDFLAGS}, since bsd.lib.mk doesn't
include ${LDFLAGS} when using ld -x on an object file.

XXX what's the point of these ld -x rules anyway?
2003-08-30 15:15:01 +00:00
dsl 677dd78600 Placate people who insist on using non-standard disk layouts by adding
a valid MBR entry for partition 3 (covering the first 15 sectors) into the
end of the partition boot code.
2003-08-30 13:33:55 +00:00
ragge b20fe4bd92 Do not cast a pointer to a pointer with different basic type when given
as function argument. It makes assumptions about pointer internals
that do not necessarily have to be true.
2003-08-30 07:54:32 +00:00
nakayama 68369c646a Wrap diag message with #ifdef DIAGNOSTIC. 2003-08-30 04:07:56 +00:00
manu ebd83433da If a Darwin process using the framebuffer (e.g.: XDarwin) crashes without
restoring text mode, do the job ourselves. This avoids letting the
user on an unusable console
2003-08-29 23:11:40 +00:00
manu 553c82ed11 Switch the console to graphic mode before trying to udv_attach the
framebuffer.
2003-08-29 22:03:13 +00:00
dsl 22588a3d36 The __strong_alias() seems to have to be in the file with the definition.
So make bcmp.c define bcmp and memcmp.
This should (?) fix the atari build.
(I've now no idea why the previous change defined memcpy for the alpha build.)
2003-08-29 19:53:18 +00:00
dsl b98ddfffb3 libsa/bcmp.c now defines both bcmp and memcmp 2003-08-29 19:50:26 +00:00
ragge a936bbd778 bus-ify. Make bpf work, but no promiscuous mode yet. 2003-08-29 14:39:28 +00:00
bsh 43f6db1ea7 support CS8900A ethernet on SMDK2410.
XXX: SMDK2410 has no EEPROM connected to CS8900A. Currently the only
     way to set MAC address is give it via kernel config option.
2003-08-29 13:54:03 +00:00
ragge 23faa91baa Understand qt as root device. 2003-08-29 13:52:45 +00:00
ragge c55ba2df08 Add the qt driver to GENERIC. 2003-08-29 13:51:47 +00:00
ragge b61c0451e0 The qt driver must be probed first, so that the qe driver is skipped
if it is a qt card.
2003-08-29 13:50:45 +00:00
ragge cd72141286 Make the qt driver work under NetBSD. Still to do:
- bus-ify.
- bpf support.
- multicast support.
2003-08-29 13:49:39 +00:00
bsh b0c5091bcb tweak memory controller on startup for CS8900A at CS3 and CL-PD7610 at
CS2.
2003-08-29 13:46:38 +00:00
enami 02a34f5f66 Use VM_DEFAULT_ADDRESS as a hint to map sigcode instead of an equivalent
value of !TOPDOWN_VM case.
2003-08-29 13:29:32 +00:00
dsl 154703d1f9 Use memset (instead of bzero) to clear bss.
bootxx_lfs now fits in the available space.
2003-08-29 12:58:39 +00:00
bsh de45322924 support EXTINT[4:23] as interrupt sources. They are cascaded to
IRQ4 (EXTINT[4:7]) and 5 (EXTINT[8:23]). ssextio driver handles these interrupts.
2003-08-29 12:57:50 +00:00
dsl 99ace74e7b Create linker map file so it is possible to see which library members
are included and why.
2003-08-29 12:56:59 +00:00
bsh 2a0faa1f10 change CPU clock to 200MHz at kernel startup. 2003-08-29 12:42:13 +00:00
bsh e979aaa6ea add option SMDK2XX0_CLOCK_CONFIG to change CPU clock at kernel startup. 2003-08-29 12:41:12 +00:00
bsh 23b593ca51 + set vendor name as Samsung.
+ delete debug printf() and use aprint_normal()
2003-08-29 12:38:48 +00:00
nakayama fd41cea78c Use proper bus number from pci_attach_args instead of (unused) var. 2003-08-29 12:36:44 +00:00
bsh 1f218a14c4 fix a comment. 2003-08-29 12:07:33 +00:00
pk 721f0d1591 Fix DEBUG code in me_alloc(). 2003-08-29 08:26:21 +00:00
thorpej a228727423 Apply the following change from 06/28/2003 04:46:54 by gibbs to the
FreeBSD ahd driver:

Fix a race condition in the flushing of commands that
have completed across the bus but not to the host before
processing of an exception condition (busfree, bus reset,
etc.).  When flushing the controller of completed commands,
we also look for packetized commands that have completed
with good status and are stored in the "good status fifo".
The hardware will post to the good status fifo even if
data for that command is still active in a FIFO.  In
one particular failure case, a command outstanding on the
bus reconnected, transferred data into a FIFO, and provided
good status while the host driver was processing an expected
busfree event (PPR message negotiation).  This resulted in
an entry in the good status fifo that we completed, but
since the sequencer was paused, the data in the data FIFO
for this command had never been transferred to the host.
Once the busfree processing was complete, the sequencer
was unpaused, and the data completed its transfer to the
host.  In some instances, the client for the data was notified
of the completion and attempted to view the data before
it arrived.  This case only occurred during FreeBSD's
multi-target probe of the SCSI bus while some devices are
negotiating to go packetized and some devices are already
running in packetized.

The fix is to run and FIFOs active with a context in the
good status fifo to completion before completing the command
to the SCSI layer.  This requies duplicating the FIFO rundown
operations in the host driver that would usually be handled
by the firmware, but there is no other alternative.

Don't blindly shutdown the SCB dma engine when restarting
the sequencer.  We may be killing an operation that is
not supposed to be cancelled.  The cases where we need to
shutdown these dma engines are already handled elsewhere in
the driver.

Fix a few more ahd_in?() -> ahd_in?_scbram() instances.
2003-08-29 05:50:42 +00:00
thorpej efefe51428 Apply the following change from 06/28/2003 04:43:19 by gibbs to the
FreeBSD ahd driver:

Implement ahd_inq_scbram() and change the implemention
of ahd_inl_scbram to use ahd_inw_scbram instead of
ahd_inb_scbram().
2003-08-29 05:48:39 +00:00
thorpej 478ae1fc6e Apply the following change from 06/28/2003 04:45:25 by gibbs to the
FreeBSD ahd driver:

aic79xx.h:
	Add softc flag to indicate that we have seen at
	least one selection since the last bus reset or
	SE/LVD bus change.

aic79xx.c:
	Fix a few style nits.

	In ahd_update_pending_scbs(), only touch card registers
	once we have found an SCB that needs to be updated.
	This removes lots of clutter from PCI traces taken of
	error recovery performed by the driver.

	Short circuit the first selection iocell workaround handler
	if we've run once since the last bus reset or iocell change.
	This also removes clutter from PCI traces.

	Note if completions are pending in the qoutfifo when we dump
	card state.
2003-08-29 04:50:00 +00:00
thorpej 56ebfcc6d5 Apply the following change from 06/28/2003 04:42:11 by gibbs to the
FreeBSD ahd driver:

Correct a typo in a comment.

Add a comment in ahd_clear_critical_sections() about
our need to leave ENBUSFREE set in SIMODE1 while single
stepping.

Re-arrange some delay loops so that we always perform
a read after any register write and before the delay.
This should make the delay loop more accurate.

When completing message processing for a packetized
commention, return the controller to a state where
invalid non-packetized phases will still cause protocol
violations.  These are the same operations as those
performed in the clear_target_state routine in the
firmware.

Now that we have a chip with working ABORTPENDING
support (the 7901B), comment out the automatic use
of this feature until we can adequately test it.
The previous checkin updated the bug mask for the
7901B so this code was exercised.

When resetting the bus, perform an ahd_flush_device_writes()
call so that our reset assertion delay is acurately
timed from when the reset bit is written to the controller.
2003-08-29 04:38:07 +00:00
thorpej 7dbbf20851 Apply the following change from 06/28/2003 04:39:49 by gibbs to the
FreeBSD ahd driver:

aic79xx.h:
        Add a 7901A specific feature definition.

aic79xx_pci.c:
        Split out the general aic790X setup into it's own
        setup handler that works on single and dual controllers.
        Adjust all other PCI setup handlers to initialize the
        chips basic features and type before calling the generic
        handler.

        Turn off a few Rev B workarounds that are not required
        on the 7901B.
2003-08-29 04:17:39 +00:00
thorpej 3c41dc5921 Apply the following change from 07-23-2003 22:06:34 by gibbs to the
FreeBSD ahd driver:

Add parenthesis so that we get all of the bits all
of the contents of the CCSCBCTL register into our
local varaible.  The other bits are used in later tests.
This avoids a potential deadlock in ahd_run_qoutfifo()
if we happen to catch the DMA engine in just the right
state.
2003-08-29 04:03:09 +00:00
thorpej c658309f7e Apply the following change from 07/06/2003 23:53:39 by gibbs to the
FreeBSD ahd driver:

When single stepping, only leave ENBUSFREE enabled
if it was already enabled.  We don't want to set it
when it shouldn't be set, we just don't want to
inadvertantly turn it off.  This should fix a recent
report of the aic7xxx driver repeatedly complaining of
"unexpected busfree while idle" in one configuration.
2003-08-29 04:00:35 +00:00
thorpej ecffeb2eeb Apply the following change from 06/28/2003 04:44:10 by gibbs to the
FreeBSD ahd driver:

Use clr instead of an explicit mov from ALLZEROS
to clear SCB_FIFO_USE_COUNT.  This is just a
syntactic change.
2003-08-29 03:54:06 +00:00
thorpej e5d09ce27d Apply the following change from 06/28/2003 04:40:46 made by gibbs to the
FreeBSD ahd driver:

aic79xx.seq:
        Remove an old comment that no longer applies.

        Fix a jump in our unexpected non-packetized phase
        handler to use an explicit lable.  The old code
        had a hardcoded jump offset that was off by one
        instruction.
2003-08-29 03:51:50 +00:00
thorpej 93cbf1d88e Sync perforce IDs. (From FreeBSD) 2003-08-29 03:45:59 +00:00
thorpej 720b377380 Apply the following change made 06/06/2003 23:51:13 by gibbs to the
FreeBSD ahd driver:

Work around SCSI spec violation by the Quantum Atlas 10K.
This drive delays going async after receiving a WDTR
message.  We now send an SDTR message after a WDTR even
if our goal is to go async.  This should work even for
confused devices.

If we get an unexpected busfree when attempting a WDTR
or SDTR, only set the goal negotiation parameters we were
trying to negotiate to off.  This means that should a WDTR
message fail, we will still try an SDTR if our goal is
non-async.

Fix a few more places where we were looking at goal.period
instead of goal.offset for determining if we should be
negotiating sync.  This should not have any impact on
our behavior, but the offset is more definitive and should
be used.
2003-08-29 03:41:28 +00:00
thorpej 6336835ec0 Apply the following change from 05/30/2003 02:14:22 made by scottl to the
FreeBSD ahd driver:

Fix a reported case of severe data corruption:

aic79xx.h:
aic79xx.reg:
        Return the SCB_TAG field to 16byte alignment.
        It seems that on some PCI systems, SCBs are not
        transferred correctly to the controller with
        the previous placement of the SCB_TAG field.

Approved by:    re (rwatson)
2003-08-29 03:17:14 +00:00
thorpej 20b90609de Apply the following change from 5/26/2003 21:15:52 made by gibbs to the
FreeBSD ahd driver:

Add 7901B support.

Sort IDs based on chip type.

Remove IROC IDs.  We'll switch to using the IROC masks
if/when we want to start attaching to IROC controllers.

Approved by: RE
2003-08-29 02:59:20 +00:00
isaki 05e2e8b5b9 Delete unnecessary #ifndef for x68k.
approved by tsutsui@
2003-08-29 02:45:57 +00:00
thorpej 34f28afa21 Apply the following change from 6/6/2003 23:48:18 by gibbs to the
FreeBSD ahd driver:

aic7770.c:
aic79xx.c:
aic79xx.h:
aic79xx_pci.c:
aic7xxx.c:
aic7xxx.h:
aic7xxx_pci.c:
	Switch ah?_reset() to take an additional "reinit" argument.
	Use this instead of init_level to determin if the chip
	should be fully reinitialized after a chip reset.  This
	is required so that ah?_shutdown() can reset the chip
	without side-effects.
2003-08-29 02:38:58 +00:00
thorpej e05d84a35a Update FreeBSD RCS ID for last. 2003-08-29 02:18:16 +00:00
thorpej 88ac7e4d52 Apply the following change from 5/30/2003 02:15:15 made by scottl to the
FreeBSD ahd driver:

aic79xx.c:
	Use the special LUNLEN_SINGLE_LEVEL constant for
	post Rev A4 hardware for single byte luns.  Without
	this change, Rev B hardware would place the single
	byte of lun data in byte 0 of the lun structure when
	it should be in byte 1.  Since there are few if any
	devices on the market that support multiple luns in
	target mode, the corrupted lun field (which was only
	corrupted for non-zero luns) wasn't hurting us.

Approved by: re	(rwatson)
2003-08-29 01:58:32 +00:00
thorpej 6095f5f091 Add some missing definitions for the LUNLEN register. 2003-08-29 01:52:16 +00:00
junyoung d532b6f4e6 Expand NEW_VMCMD() macro to a real function new_vmcmd() for the
non-debugging case as well, rather than expanding it inline. This saves
a bunch of kernel bits, e.g. 4kB from GENERIC on i386.
2003-08-29 01:44:02 +00:00
thorpej d8ede84c0f Apply the following change made on 5/26/2003 21:43:29 by gibbs to the
FreeBSD ahd driver:

aic79xx.c:
aic79xx_osm.h:
aic7xxx_osm.h:
	Explicitly define functions that take no arguments
	with "(void)"

Approved by: RE
2003-08-29 01:37:11 +00:00
thorpej 3dd1bba4c4 Apply the following change made on 5/26/2003 21:26:51 by gibbs to the
FreeBSD ahd driver:

Correct/Simplify ignore wide residue message handling

aic79xx.c:
	In ahd_handle_ign_wide_residue():
	o Use SCB_XFERLEN_ODD SCB field to determine transfer
	  "oddness" rather than the DATA_COUNT_ODD logic.
	  SCB_XFERLEN_ODD is toggled on every ignore wide
	  residue message so that multiple ignore wide residue
	  messages for the same transaction are properly supported.
	o If the sg list has been exausted, the sequencer
	  doesn't bother to update the residual data count
	  since it is known to be zero.  Perform the zeroing
	  manually before calculating the remaining data count.
	o Use multibyte in/out macros instead of shifting/masking
	  by hand.

aic79xx_inline.h:
	In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.

aic79xx.reg:
	Use the SCB_TASK_ATTRIBUTE field as a bit field in the
	non-packetized case.  We currently only define one bit,
	SCB_XFERLEN_ODD.

	Remove the ODD_SEG bit field that was used to carry the odd
	transfer length information through the SG cache.  This
	is obviated by SCB_XFERLEN_ODD field.

	Remove the DATA_COUNT_ODD scratch ram byte that was used
	dynamicaly compute data transfer oddness.  This is obviated
	by SCB_XFERLEN_ODD field.

aic79xx.seq:
	Remove all updates to the DATA_COUNT_ODD scratch ram field.
	Remove all uses of ODD_SEG.  These two save quite a few
	sequencer instructions.

	Use SCB_XFERLEN_ODD to validate the end of transfer
	ignore wide residue message case.
2003-08-29 01:28:51 +00:00
thorpej 1109945598 Apply the following change made 5/26/2003 21:18:48 by gibbs to the
FreeBSD ahd driver:

Change hadling of the Rev. A packetized lun output bug
to be more efficient by having the sequencer copy the
single byte of valid lun data into the long lun field.

aic79xx.c:
	Memset our hardware SCB to 0 so that untouched
	fields don't confuse diagnostic output.  With the
	old method for handling the Rev A bug, if the long
	lun field was not 0, this could result in bogus
	lun information being sent to drives.

	Use the same SCB transfer size for all chip types
	now that the long lun is not DMA'ed to the chip.

aic79xx.seq:
	Add code to copy lun information for Rev.A hardware.

aic79xx_inline.h:
	Remove host update of the long_lun field on every
	packetized command.
2003-08-29 00:46:05 +00:00
thorpej e88c8722b7 Apply the following change checked in 2003/05/04 00:20:07 by gibbs
to the FreeBSD ahd driver:

Correct spelling errors.

Switch to handling bad SCSI status as a sequencer interrupt
instead of having the kernel proccess these failures via
the completion queue.  This is done because:

 o The old scheme required us to pause the sequencer and clear
   critical sections for each SCB.  It seems that these pause
   actions, if coincident with a sequencer FIFO interrupt, would
   result in a FIFO interrupt getting lost or directing to the
   wrong FIFO.  This caused hangs when the driver was stressed
   under high "queue full" loads.
 o The completion code assumed that it was always called with
   the sequencer running.  This may not be the case in timeout
   processing where completions occur manually via
   ahd_pause_and_flushwork().
 o With this scheme, the extra expense of clearing critical
   sections is avoided since the sequencer will only self pause
   once all pending selections have cleared and it is not in
   a critical section.

  aic79xx.c
        Add code to handle the new BAD_SCB_STATUS sequencer
        interrupt code.  This just redirects the SCB through
        the already existing ahd_complete_scb() code path.
        Remove code in ahd_handle_scsi_status() that paused
        the sequencer, made sure that no selections where
        pending, and cleared critical sections.  Bad
        status SCBs are now only processed when all of these
        conditions are true.

  aic79xx.reg:
        Add the BAD_SCB_STATUS sequencer interrupt code.

  aic79xx.seq:
        When completing an SCB upload to the host, if
        we are doing this because the SCB contains non-zero
        SCSI status, defer completing the SCB until there
        are no pending selection events.  When completing
        these SCBs, use the new BAD_SCB_STATUS sequencer
        interrupt.  For all other uploaded SCBs (currently
        only for underruns), the SCB is completed via the
        normal done queue.  Additionally, keep the SCB that
        is currently being uploaded on the COMPLETE_DMA_SCB
        list until the dma is completed, not just until the
        DMA is started.  This ensures that the DMA is restarted
        properly should the host disable the DMA transfer for
        some reason.

        In our RevA workaround for Maxtor drives, guard against
        the host pausing us while trying to pause I/O until the
        first data-valid REQ by clearing the current snapshot
        so that we can tell if the transfer has completed prior
        to us noticing the REQINIT status.

        In cfg4data_intr, shave off an instruction before getting
        the data path running by adding an entrypoint to the
        overrun handler to also increment the FIFO use count.

        In the overrun handler, be sure to clear our LONGJMP
        address in both exit paths.

Perform a few sequencer optimizations.

  aic79xx.c:
        Print the full path from the SCB when a packetized
        status overrun occurs.

        Remove references to LONGJMP_SCB which is being
        removed from firmware usage.

        Print the new SCB_FIFO_USE_COUNT field in the
        per-SCB section of ahd_dump_card_state().  The
        SCB_TAG field is now re-used by the sequencer,
        so it no longer makes sense to reference this
        field in the kernel driver.

  aic79xx.h:
        Re-arrange fields in the hardware SCB from largest
        size type to smallest.  This makes it easier to
        move fields without changing field alignment.

        The hardware scb tag field is now down near the
        "spare" portion of the SCB to facilitate reuse
        by the sequencer.

  aic79xx.reg:
        Remove LONGJMP_ADDR.

        Rearrange SCB fields to match aic79xx.h.
        Add SCB_FIFO_USE_COUNT as the first byte
        of the SCB_TAG field.

  aic79xx.seq:
        Add a per-SCB "Fifos in use count" field and use
        it to determine when it is safe (all data posted)
        to deliver status back to the host.  The old method
        involved polling one or both FIFOs to verify that
        the current task did not have pending data.  This
        makes running down the GSFIFO very cheap, so we
        will empty the GSFIFO in one idle loop pass in
        all cases.

        Use this simplification of the completion process
        to prune down the data FIFO teardown sequencer for
        packetized transfers.  Much more code is now shared
        between the data residual and transfer complete cases.

        Correct some issues in the packetized status handler.
        It used to be possible to CLRCHN our FIFO before status
        had fully transferred to the host.  We also failed to
        handle NONPACKREQ phases that could occur should a CRC
        error occur during transmission of the status data packet.

Correct a few big endian issues:

  aic79xx.c:
  aic79xx_inline.h:
  aic79xx_pci.c:
  aic79xx_osm.c:
        o Always get the SCB's tag via the SCB_GET_TAG acccessor
        o Add missing use of byte swapping macros when touching
          hscb fields.
        o Don't double swap SEEPROM data when it is printed.
          Correct a big-endian bug.  We cannot assign a
        o When assigning a 32bit LE variable to a 64bit LE
          variable, we must be explict about how the words
          of the 64bit LE variable are initialized.  Cast to
          (uint32_t*) to do this.

aic79xx.c:
        In ahd_clear_critical_section(), hit CRLSCSIINT
        after restoring the interrupt masks to avoid what
        appears to be a glitch on SCSIINT.  Any real SCSIINT
        status will be persistent and will immidiately
        reset SCSIINT.  This clear should only get rid of
        spurious SCSIINTs.

        This glitch was the cause of the "Unexpected PKT busfree"
        status that occurred under high queue full loads

        Call ahd_fini_scbdata() after shutdown so that
        any ahd_chip_init() routine that might access
        SCB data will not access free'd memory.

        Reset the bus on an IOERR since the chip doesn't
        seem to reset to the new voltage level without
        this.
        Change offset calculation for scatter gather maps
        so that the calculation is correct if an integral
        multiple of sg lists does not fit in the allocation
        size.

        Adjust bus dma tag for data buffers based on 39BIT
        addressing flag in our softc.

        Use the QFREEZE count to simplify ahd_pause_and_flushworkd().
        We can thus rely on the sequencer eventually clearing ENSELO.

        In ahd_abort_scbs(), fix a bug that could potentially
        corrupt sequencer state.  The saved SCB was being
        restored in the SCSI mode instead of the saved mode.
        It turns out that the SCB did not need to be saved at all
        as the scbptr is already restored by all subroutines
        called during this function that modify that register.

aic79xx.c:
aic79xx.h:
aic79xx_pci.c:
        Add support for parsing the seeprom vital product
        data.  The VPD data are currently unused.

aic79xx.h:
aic79xx.seq:
aic79xx_pci.c:
        Add a firmware workaround to make the LED blink
        brighter during packetized operations on the H2A.

aic79xx_inline.h:
        The host does not use timer interrupts, so don't
        gate our decision on whether or not to unpause
        the sequencer on whether or not a timer interrupt
        is pending.
2003-08-29 00:09:59 +00:00
thorpej f3552c7ce0 Make sure we consistently report DT when sending an xfer mode async event. 2003-08-28 22:16:01 +00:00
manu 850173c462 Correctly get framebuffer dimensions 2003-08-28 21:47:02 +00:00
thorpej 7ac69b3354 * Make matching and chip info table-driven.
* Print product name and revision at attach time.
* Use aprint_*().
2003-08-28 19:00:52 +00:00
thorpej a81f6a99c2 Remove an unnececssary PCI config read. 2003-08-28 18:13:33 +00:00
mrg 7f2b4aa8bd fix error in previous 2003-08-28 16:36:22 +00:00
thorpej 8cc6a38914 Regen; spell Hifn correctly, add more Hifn products. 2003-08-28 15:18:32 +00:00
thorpej 9ecf7b4619 Hi/Fn is now spelled Hifn. Add some more Hifn products (from openbsd). 2003-08-28 15:17:54 +00:00
thorpej 16bab1291f Hi/Fn is now spelled Hifn. 2003-08-28 15:15:43 +00:00
thorpej 873a015164 ANSI'ify (matches change in openbsd v1.140 of this file). 2003-08-28 15:05:10 +00:00
ragge b6d1d6091d Keep track of which addresses that are used by devices, so that probing
do not fiddle with registers on already found devices.
2003-08-28 14:59:06 +00:00
enami 2340975258 Use vm_map_{min,max}() rather than accessing struct vm_map.header.{start,end}
directly.
2003-08-28 14:54:32 +00:00
pk 9a4aea0127 When retiring a swap device with marked bad blocks on it we should update
the `# swap page in use' and `# swap page only' counters.  However, at the
time of swap device removal we can no longer figure out how many of the
bad swap pages are actually also `swap only' pages.

So, on swap I/O errors arrange things to not include the bad swap pages in
the `swpgonly' counter as follows: uvm_swap_markbad() decrements `swpgonly'
by the number of bad pages, and the various VM object deallocation routines
do not decrement `swpgonly' for swap slots marked as SWSLOT_BAD.
2003-08-28 13:12:17 +00:00
tron aae64118ef Add missing blank line.
Don't treat pointers as boolean values.
2003-08-28 10:58:37 +00:00
ragge 3627139aef Add qt. 2003-08-28 10:07:34 +00:00
ragge b17488c45b Add qt as the DELQA-PLUS driver. 2003-08-28 10:04:28 +00:00
ragge bc6fe7fbed Driver for the DELQA-PLUS card in Turbo mode, from 2.11BSD, written by
Steven M. Schultz.
2003-08-28 10:03:32 +00:00
isaki 589895ff03 Delete unnecessary RCSID. 2003-08-28 09:47:07 +00:00
itojun 467deb61ca rijndael-api-fst.h is not needed 2003-08-28 08:38:19 +00:00
mrg 4245208cbc don't include opt_coda_compat.h unless _KERNEL_OPT. also, only include it
once...
2003-08-28 05:55:19 +00:00
thorpej 0ee518aff8 Print out a bit more information about which part is present at attach
time, generally tidy up autoconfiguration messages.
2003-08-28 01:53:06 +00:00
fvdl 7674ed5fa0 Support the BCM5704C rev 3. From Nicolas Joly, PR 22620 2003-08-27 23:13:50 +00:00
dsl 904ed3bb04 An ever sneakier way of making memcmp and bcmp use the same code:
__strong_alias(memcmp,bcmp)
2003-08-27 22:53:18 +00:00
dsl d0db314661 Use memset not bzero to help shrink alpha bootxx_lfs
(sys/arch/alpha/stand/common/start.S also uses bzero, I don't know
any alpha opcodes so cant change that one...)
2003-08-27 22:42:08 +00:00
thorpej 0f48886732 Fix some diagnotic printfs. 2003-08-27 22:07:57 +00:00
matt 31cc6ab700 Move SFRAMELEN to frame.h and use it in vm_machdep.c. In setfunc, setup
callframe linkages correctly.  Restore use of ldptr to locore_subr.S
[pthreads and gdb no longer crash/hang the system]
2003-08-27 20:20:07 +00:00
uwe a1cbc85a2f Bring _PROF_PROLOGUE back. The breakage was caused by calls to
__udivsi3 being treated specially by gcc.
2003-08-27 19:59:57 +00:00
matt 56f115e896 Switch back to adjusting stack by addi instead of ldptr until I can locate
who's setting up the stack wrong.
2003-08-27 19:45:28 +00:00
drochner 1b88840c66 update for the protocol used by coda>=6,
patches supplied by the coda-6.0.2 distribution,
with small changes to support the old protocol optionally
(options CODA_COMPAT_5)
2003-08-27 17:49:48 +00:00
matt 4a33fdce54 Actually the right instruction to fill a half-word.
From Juergen Hannken-Illjes hannken at eis dot cs dot tu-bs dot de
2003-08-27 17:37:43 +00:00
mrg 1a086c6b25 introduce an additional switch to enable building GCC3 instead of GCC2:
HAVE_GCC3.  if this is set, we also set USE_TOOLS_TOOLCHAIN=no.  change
the definition of the former to be restricted to whether tools/toolchain
is used or not.
2003-08-27 16:03:17 +00:00
mrg 9e599bdb11 change PROM_getprop() from taking a "void **" for the storage, to a
"void *", and do the extra de-reference directly in the function.  this
avoids having to cast dozens of different types to "void **", which sets
of GCC3's strict-aliasing.  testing by martin@
2003-08-27 15:59:49 +00:00
mrg 9ff45a46f3 x[yd]_dmamem_alloc() takes a bus_addr_t *. don't pass the address of a
long!  found by GCC3.
2003-08-27 15:41:03 +00:00
thorpej c171c20800 Fix-up a few things missed in the rijndael_set_key() change. 2003-08-27 14:55:36 +00:00
thorpej d5d0a860bc Add missing RCS ID. 2003-08-27 14:49:44 +00:00
kleink 7433b99634 Regen. 2003-08-27 14:27:12 +00:00
itojun 725b73043b simplify rijndael.c API - always schedule encrypt/decrypt key.
reviewed by thorpej
2003-08-27 14:23:25 +00:00
kleink e33a696688 While here, add the AMD8111's ACPI controller. 2003-08-27 14:21:51 +00:00
kleink bfd961d6f6 Add AMD8111 USB and SMBus controller IDs; from Nicolas Joly in kern/22617. 2003-08-27 14:13:10 +00:00
tron 710886efc2 Fix build problem caused by adding "const", remove "register" usage. 2003-08-27 12:17:18 +00:00
itojun ffb2df7cd0 variable 'sc' needed in MPACPI case (what should we do about NIOAPIC?) 2003-08-27 11:38:54 +00:00
bsh 7726d33fed + fix the definition of timer #4 observation register. This change fixed
delay() bug.

+ match the names of timer registers to those in user's manual.
2003-08-27 03:57:05 +00:00
bsh 13543d215c move some definitions of register block size from s3c24[10]0reg.h
to s3c24x0reg.h when they are same for S3C2410 and 2400, and rename them as
S3C24X0_FOO_SIZE.
2003-08-27 03:46:05 +00:00
itojun 000061139d typo 2003-08-27 03:35:35 +00:00
itojun 880bf51285 check and panic if key with wrong dir is passed 2003-08-27 02:44:19 +00:00
itojun fb5acbcfc6 rijndael encryption context/scheduled key is assymmetric; need to setup two
(one for encryption, one for decryption)
2003-08-27 02:42:09 +00:00
itojun 5c39f4aaa7 don't intiialize m by m0, m0 is not initialized (by introduction of ip_fragment) 2003-08-27 02:09:59 +00:00
uwe 3a942f1015 cc_callout does not belong to struct cons_channel, as it's only used
by sparc for PROM console input channel.  Demote it to kd.c as a
static variable.

While there, use callout_schedule instead of callout_reset to
reschedule the PROM polling callout, and init prom_cons_channel
statically.
2003-08-27 01:37:38 +00:00
uwe 68f362b713 Kill __P(). 2003-08-27 00:23:32 +00:00
thorpej 7e87fbb23b Some const poisoning. 2003-08-27 00:20:56 +00:00
thorpej 538c811bc6 Tidy up the namespace of this a little. 2003-08-27 00:12:37 +00:00
thorpej 7b613a568e Use BF_ecb_encrypt() instead of using BF_encrypt()/BF_decrypt()
directly.  Reviewed by itojun.
2003-08-27 00:08:31 +00:00
thorpej 24b18cc20a Use the Blowfish in crypto/blowfish, which has hooks for using tuned
assembly for the transform.
2003-08-27 00:05:26 +00:00
thorpej e77423d998 * Const poison, ANSI'ify, like newer OpenSSL Blowfish code.
* Add a BF_ecb_encrypt(), which makes for a prettier interface than
  using BF_encrypt()/BF_decrypt() directly.
2003-08-26 23:51:12 +00:00
manu 41a89bc98d Fix a buffer overflow that was leading to various kernel crashes 2003-08-26 21:52:18 +00:00
manu e3ce76f536 Added a malloc freelist sanity check function, for debugging purposes 2003-08-26 21:48:53 +00:00
jdolecek 5d07f1b919 retain the FreeBSD RCS Id for xmaciireg.h for reference 2003-08-26 21:14:08 +00:00
jdolecek 98c6c56281 add commented out entries for skc/sk SysKonnect SK9821 driver 2003-08-26 21:12:48 +00:00
jdolecek 00603e639b Add driver for SysKonnect SK-9821 and 3COM 3C940 gigabit ethernet boards
From FreeBSD via OpenBSD, port to NetBSD done by Stephen Degler

Changes relative to submitted version:
* yukonreg.h and xmaciireg.h merged into if_skreg.h
* bhack[] constified + other small editing changes
* use 'Ethernet address' rather than 'address' in attach message

XXX completely untested by me, needs further cleanup

Driver provided in PR kern/22511 by Stephen Degler
2003-08-26 21:11:00 +00:00
jdolecek 72e5c7ee1b regen: add SysKonnect 9821 2003-08-26 21:02:22 +00:00
jdolecek a22db7c69f add SysKonnect SK9821 2003-08-26 21:01:35 +00:00
thorpej c8a0fb53df In Blowfish_initstate(), make the initstate static, otherwise the
compiler will emit code to first copy it onto the stack before
copying it into the destination context structure.  With this change,
it will only be copied once.
2003-08-26 20:20:17 +00:00
thorpej 850a45bf66 const an array. 2003-08-26 20:15:13 +00:00
thorpej e6430e4cf8 Const poison, use ANSI-style. 2003-08-26 20:12:22 +00:00
thorpej 793bc7ea32 Take a couple more opportunities to const poison. 2003-08-26 20:07:59 +00:00
thorpej 2d241878c0 Const poison. 2003-08-26 19:58:36 +00:00
thorpej afb044fa37 Duh, remove clock_subr attribute; I am blind today. 2003-08-26 19:23:49 +00:00
thorpej 324f3799d3 Slight cosmetic tweak to last. 2003-08-26 19:20:44 +00:00
thorpej 82c17c3e5e Define an attribute for clock_subr.c 2003-08-26 19:19:36 +00:00
tron e1ab9f5a04 Rework support for i845, i865 and i875P. agp(4) now doesn't "kill" the
i82547EI on my i865PE motherboard any longer.
2003-08-26 18:43:54 +00:00
thorpej 7fbfc60c3c Some slight cleanup. 2003-08-26 17:54:33 +00:00
tron 57c82d6312 Add support for i865G integrated graphics support to agp(4). Patches
contributed by Michael D. Allen in PR port-i386/22600.
2003-08-26 17:33:22 +00:00
tron 18b670bcac Replaces space with tabs. 2003-08-26 17:28:13 +00:00
tron f08364a168 Regen. 2003-08-26 17:25:32 +00:00
tron b411fda654 Add entry for Intel i865G Integrated Graphics Device. 2003-08-26 17:25:00 +00:00
pk e881551a43 VOP_PUTPAGES() must be called with the vnode's interlock held. 2003-08-26 16:40:10 +00:00
thorpej 6de9ce0437 Move the opencrypto CAST-128 implementation to crypto/cast128, removing
the old one.  Rename the functions/structures from cast_* to cast128_*.
Adapt the KAME IPsec to use the new CAST-128 code, which has a simpler
API and smaller footprint.
2003-08-26 16:37:36 +00:00
thorpej 2957d8dce6 Use the simplified rijndael API (which this was essentially a duplicate
of).  XXX This file can now be merged into esp_core.c.
2003-08-26 15:18:27 +00:00
yamt 91161caf3c use VM_PAGE_TO_PHYS macro instead of using phys_addr directly. 2003-08-26 15:12:18 +00:00
thorpej 4db0bbc2b8 Remove a bunch of unnecessary includes. 2003-08-26 15:01:38 +00:00
thorpej 4612234689 G/C extra /. 2003-08-26 14:24:35 +00:00
thorpej aa6632baa6 G/C opencrypto's local copy of rijndael. Adapt the extant rijndael
code for opencrypto's use by adding the simplified API that opencrypto
expects.
2003-08-26 14:24:05 +00:00
uwe 5c666394c9 Drop fbvar.h from INCS now that it's been cvs rm'ed here. 2003-08-26 11:51:13 +00:00
hannken 26d8cfe506 Finish last commit (Make this compile with options DEBUG).
NetBSD has no M_WRITABLE().
2003-08-26 10:17:02 +00:00
thorpej db3b5e3692 Remove extra /. 2003-08-26 02:54:11 +00:00
itojun 6d223cc3a4 KNF 2003-08-25 20:36:47 +00:00
cb 346280bc3c bump kernel version to 1.6X for systrace changes 2003-08-25 19:25:09 +00:00
uwe 5efaa48bea Framebuffer code common to sparc and sparc64 was merged and moved to
dev/sun 3 years ago.  Remove these redundant and out-of-date copies.
All code now uses dev/sun/fbvar.h
2003-08-25 19:24:49 +00:00
uwe 86b9436205 Use dev/sun/fbvar.h instead of machine/fbvar.h (which is just an out
of date copy of the former).

Compile tested with GENERIC32.
Ok by Martin Husemann <martin@netbsd>.
2003-08-25 19:03:41 +00:00
marcus afc21ff9d1 mulaw/alaw timing bugfix from Izumi Tsutsui. 2003-08-25 18:48:31 +00:00
uwe bb09aff859 Undo previous as it broke things.
There are some scattered implicit RASTERCONSOLE dependencies,
so there should be a better way.
2003-08-25 17:50:22 +00:00
tron c8232f0d0f Protect inclusion of "opt_vm86.h" with "#ifdef _KERNEL_OPT" as appropriate. 2003-08-25 13:11:30 +00:00
drochner 25df17af88 fix a deadlock during mount:
The client manager (venus) blocks in sys_mount() before entering its
event loop answering requests from the kernel device (cfs). sys_mount()
calls VFS_STATFS() internally which caused an upcall through cfs,
which was never answered.
Now don't consider the fs fully mounted before the VFS_START() was
called at the vey end of sys_mount(). So VFS_STATFS() will return
an error which is ignored.
2003-08-25 10:05:46 +00:00
drochner eacc9ee5ce nuke an over-zealous memset() which broke statfs() et al. completely 2003-08-25 09:24:53 +00:00
drochner 8085017e31 fix _UC_MACHINE_SP() for the vm86 case: we have to add the SS offset 2003-08-25 09:20:25 +00:00
cb 5f734a1850 fix a race condition between path resolution in userland
and the subsequent namei(): inform the kernel portion of
valid filenames and then disallow symlink lookups for
those filenames by means of a hook in namei().
with suggestions from provos@

also, add (currently unused) seqnr field to struct
systrace_replace, from provos@
2003-08-25 09:12:42 +00:00
he 2dfc91641e Remove duplicate entry for ``pf''. 2003-08-25 09:05:13 +00:00
mrg 0e001a53fa make it "static long nil;" as it's used as &nil in an array wanting long *'s.
makes GCC3 happy.
2003-08-25 04:51:10 +00:00
thorpej b6ff7ed864 It's bad form to use the <opencrypto/rmd160.h> header file while
using the crypto/ripemd160/rmd160.c implementation.  Remove the
opencrypto-local copies of these files entirely.
2003-08-25 04:09:57 +00:00
thorpej 7c0f1119d1 These are unused; remove them. 2003-08-25 04:09:05 +00:00
itojun 356aebd768 g/c unused member. use in6p_ip6 more effectively. 2003-08-25 00:14:30 +00:00
itojun 9569786c95 deref member in in6p directly, don't rely on existence of macro 2003-08-25 00:11:52 +00:00
itojun ff512e5035 don't commit value into ip6_ptkopts until the validation is done.
(note: the code will be updated with 2292bis definition soon, hopefully)
2003-08-25 00:10:27 +00:00
marcus 9010cdf728 LINEAR and LINEAR_LE need to be interchangeable (fixes 8bit unsigned bug). 2003-08-24 19:52:46 +00:00
marcus f436d156b4 Added some encodings which were supported but not listed. 2003-08-24 19:44:29 +00:00
thorpej a7b80200d3 crypto_mbuf.c is unused; remove it. 2003-08-24 19:29:09 +00:00
thorpej 6c52220ed3 G/C some unused config definitions. 2003-08-24 19:28:32 +00:00
thorpej 633cb7d73e Make opencrypto depend on the "ripemd160" and "sha2" attributes, rather
than polluting the crypto algorithm config info with opencrypto knowledge.
2003-08-24 19:26:54 +00:00
thorpej 35479644a7 Move the opencrypto defpseudo into files.opencrypto. 2003-08-24 19:21:11 +00:00
atatat 2768d776d4 Use pfind() in proc_sysctl() to find the target process instead of a
home-grown routine.  Remove defcorenamelen, since it's not used
anywhere.
2003-08-24 19:20:40 +00:00
thorpej 06b1e7a0f1 Make opencrypto explicitly depend on the "des" attribute. Also pull
in zlib.c explicitly if opencrypto is included.
2003-08-24 19:19:54 +00:00
chs 12f04351ad fix some indentation. 2003-08-24 18:12:25 +00:00
chs 14ee4005a1 make sp_tlb_flush() work for profiling kernels:
when we're profiling, the compiler creates a stack frame for us,
so doing a "retl" isn't so good in that case.
2003-08-24 18:10:31 +00:00
chs f217b85c1f make this build with GEM_DEBUG. fix rxhist counters. 2003-08-24 18:07:03 +00:00
chs 2ab420f918 recognize the latest version of the GMAC. 2003-08-24 18:02:00 +00:00
chs 939df36e55 add support for non-executable mappings (where the hardware allows this)
and make the stack and heap non-executable by default.  the changes
fall into two basic catagories:

 - pmap and trap-handler changes.  these are all MD:
   = alpha: we already track per-page execute permission with the (software)
	PG_EXEC bit, so just have the trap handler pay attention to it.
   = i386: use a new GDT segment for %cs for processes that have no
	executable mappings above a certain threshold (currently the
	bottom of the stack).  track per-page execute permission with
	the last unused PTE bit.
   = powerpc/ibm4xx: just use the hardware exec bit.
   = powerpc/oea: we already track per-page exec bits, but the hardware only
	implements non-exec mappings at the segment level.  so track the
	number of executable mappings in each segment and turn on the no-exec
	segment bit iff the count is 0.  adjust the trap handler to deal.
   = sparc (sun4m): fix our use of the hardware protection bits.
	fix the trap handler to recognize text faults.
   = sparc64: split the existing unified TSB into data and instruction TSBs,
	and only load TTEs into the appropriate TSB(s) for the permissions.
	fix the trap handler to check for execute permission.
   = not yet implemented: amd64, hppa, sh5

 - changes in all the emulations that put a signal trampoline on the stack.
   instead, we now put the trampoline into a uvm_aobj and map that into
   the process separately.

originally from openbsd, adapted for netbsd by me.
2003-08-24 17:52:28 +00:00
uwe 4b28d28d70 defflag RASTERCONSOLE. 2003-08-24 17:36:32 +00:00
marcus 7973c3321c Added AICA sound driver contributed by Ryo Shimizu. 2003-08-24 17:33:27 +00:00
uwe 65aeb1d742 #include "opt_rcons.h" 2003-08-24 17:31:59 +00:00
chs fd825b0f1e avoid taking the kernel lock for MPSAFE syscalls.
add missing unlock in fancy case.
2003-08-24 16:36:10 +00:00
chs 3cf764618d remove bogus code that terminates stack trace too early on OEA. 2003-08-24 16:33:41 +00:00
chs 4ffa07757d mprotect()'s "len" is really a size_t, and we can't do any useful
bounds-checking on it.
2003-08-24 16:32:50 +00:00
he cb53c3ac12 The new ufs.o also needs memset, so add it. 2003-08-24 15:19:46 +00:00
he d871277d7d Adapt to new ufs.c needing memcmp and memmove. 2003-08-24 15:11:18 +00:00
he 47a6e783ff Adapt to const-ification of the first arg of the open function of fs_ops. 2003-08-24 14:43:29 +00:00
tron 6948b33a95 Add a missing blank line between two functions. 2003-08-24 09:38:53 +00:00
itojun e5255bfd47 make proc.curproc.* check more strict. atatat 2003-08-24 06:11:19 +00:00
mrg b5076a98db 64 bit number literals need a "ULL" suffix 2003-08-24 00:41:43 +00:00
cjep a94f967897 Make this compile with options DEBUG (part of PR#22582 from Frank Kardel). 2003-08-23 20:37:18 +00:00
martin f5a54fd742 When trying to (re-)establish a session cope with intermediate output
failures of the underlying ethernet interface - just keep trying.
2003-08-23 16:42:41 +00:00
he 75219318a9 Add memmove.c, needed by new ufs.c. 2003-08-23 09:10:51 +00:00
uwe 8dccb95e85 French keydesc for Jornada 680/690. Written based on photos and
descriptions of WinCE behavior from Ge'rard Gambaro (jornada.free.fr).
Not tested on an actual ABF unit.

Hidden under #if 0, as we don't have a platform id for French Jornadas yet.
But I think it's better off committed before it's got lost.
2003-08-23 02:48:47 +00:00
itojun 3e76200c67 need sys/domain.h for FAST_IPSEC case; jonathan 2003-08-23 01:41:10 +00:00
dogcow 80f2705ab1 regen (add VIA VT6105) 2003-08-23 00:14:42 +00:00
dogcow 171b7c3fa5 add VT6105 support to vr(4) 2003-08-23 00:14:28 +00:00
itojun a3bad645a4 make sure so is properly initialized 2003-08-22 22:49:34 +00:00
itojun 58f57a60fd tp could be null in tcp_respond() 2003-08-22 22:27:07 +00:00
itojun 4e6aca94c2 correct missing inclusion of opt_ipsec.h 2003-08-22 22:11:44 +00:00
itojun cabb25918f no need for opt_ipsec.h any longer 2003-08-22 22:05:11 +00:00
itojun 11ede1ed88 remove ipsec_set/getsocket. now we explicitly pass socket * to ip{,6}_output. 2003-08-22 22:00:36 +00:00
itojun 82eb4ce914 change the additional arg to be passed to ip{,6}_output to struct socket *.
this fixes KAME policy lookup which was broken by the previous commit.
2003-08-22 21:53:01 +00:00
itojun 9329caaf20 typo in log message 2003-08-22 21:50:42 +00:00
dsl db4706faf9 Reduce memory footprint:
- use file buffer for all block reads
- only save a small amount of the indirect block list
Allows i386 bootxx_ufs code to load /boot from a filesystem with 32k blocks
while still fitting inside 64k of memory.
Code size reduced as well (by ~1k on i386).
It ought to be possible to use a buffer that is smaller than a filesystem
block.  This might be needed in order to boot from filesystems with larger
block sizes.
2003-08-22 21:33:52 +00:00
dsl f3404c9f63 Fix same breakage as previous (need memmove for symlink handling in ufs.c)
but use (probably) smaller footprint code from libsa.
2003-08-22 21:14:35 +00:00
dsl 6c51a53afa Add memmove - needed for symlink processing in ufs.c 2003-08-22 21:00:26 +00:00
jonathan e3ec783e41 (Accidentally-omitted change): update for ip6_output() to match commit below.
replace the set_socket() method of passing an extra struct socket*
argument to ip6_output() with a new explicit struct in6pcb* argument.
(The underlying socket can be obtained via in6pcb->inp6_socket.)

In preparation for fast-ipsec.  Reviewed by itojun.
2003-08-22 20:49:03 +00:00
jonathan 9339ef0381 Change KAME code for ip_output()/ip6_output() to obtain struct socket*
from the explicit inpcb*/in6pcb* argument.  set_socket() becomes redundant.
2003-08-22 20:29:00 +00:00
jonathan 902669955f Replace the set_socket() method of passing an extra struct socket*
argument to ip6_output() with a new explicit struct in6pcb* argument.
(The underlying socket can be obtained via in6pcb->inp6_socket.)

In preparation for fast-ipsec.  Reviewed by itojun.
2003-08-22 20:20:09 +00:00
he b372f2beaa Adapt to const-ification of first arg of open function in fs_ops. 2003-08-22 08:06:19 +00:00
itojun 8ebd15f8cd add udav* 2003-08-22 07:52:48 +00:00
itojun 52f8075c5a allow userland to specify SPD ID. more readable debugging messages. 2003-08-22 06:22:21 +00:00
itojun 80e0659dae KNF 2003-08-22 06:21:09 +00:00
itojun 616adf38ee backout; committed by mistake 2003-08-22 05:48:27 +00:00
itojun 190b098134 do not quit from key_sendup() even if writes to non-target socket fails.
from SEIL team
2003-08-22 05:46:37 +00:00
itojun 96467c96c7 add udav* 2003-08-22 05:14:00 +00:00
itojun 413787298f udav*, for ether w/ Davicom DM9601 chipset. Shingo WATANABE 2003-08-22 05:13:29 +00:00
itojun 714f2369d3 on netbsd, major # for /dev/crypto depends on arch 2003-08-22 05:07:26 +00:00
itojun 4440262659 create /dev/crypto 2003-08-22 05:06:22 +00:00
jonathan 215937cb45 Check in hooks to fix checksum offload on bge devices. Empirical
observation is that some 570x devices can get themselves into a state
where they miscompute off-loaded TCP or UDP checksums on packets so
small that Ethernet padding is required.  Further obsevation suggests
that the bge checksum-offload hardware is adding those padding bytes
into its TCP checksum computation. (Once a 5700 gets in this state,
even a warm boot won't fix it: it needs a hard powerdown.)

Work around the problem by padding such runts with zeros: even if the
checksum-offload adds in extra zeros, the resulting sum will be correct.

Also, dont trust the checksum-offload on received packets smaller than
the minimum ethernet frame, in case the Rx-side has a similar bug.

Finally, on packets where we do trust the outboard Rx-side TCP or UDP
checksum, the bge did not include the pseudo-header. Set the
M_CSUM_NO_PSEUDOHDR bit as well as M_CSUM_DATA, and rely on
udp_input() or tcp_input() adding in the sum via in_cksum_phdr().
2003-08-22 03:32:35 +00:00
jonathan 25eeb02c06 Fix a bug in compaction of `DMA runt' fragmented packet chains:
if we m_dup() a packet to compactify it, and later run out of DMA
descriptors, bge_encap() will return ENOBUFS, hoping the driver will
try again later.  But we have just m_freem()'d the original chain
which was m_dup()'d, leaving a pointer to the just-freed packet header
in the tx queue.

Fix by always walking the chain, shuffling data towards the head;
except if we find a runt in the very last mbuf, we must borrow data
from its predecessor.

(Patch is verbatim from a third-party tree, apologies for any style woes.)
2003-08-22 03:03:20 +00:00
junyoung d366db246b TNF & remove trailing spaces. 2003-08-22 02:01:32 +00:00
petrov 53514f157f Don't set and check absent interrupts on sabre. 2003-08-22 00:46:25 +00:00
petrov 051f6b8a9a Cosmetic: move DEBUG defines. 2003-08-22 00:45:40 +00:00
he 1c6c843936 Adapt to const-ification of first arg of open function in fs_ops. 2003-08-21 23:28:27 +00:00
he 09c6022868 Add memcmp, memmove and bcmp to handle the new ufs.c. 2003-08-21 23:24:36 +00:00
he b6643fd4d3 Adapt to const-ification of first arg of open function in fs_ops. 2003-08-21 23:15:18 +00:00