Commit Graph

80569 Commits

Author SHA1 Message Date
tjr
516923dd04 Add implementations of wscanf() and related functions: fwscanf(), swscanf(),
vfwscanf(), vswscanf(), vwscanf(). As the name suggests, these are wide-
character versions of the scanf() family of functions.
2002-09-23 12:40:06 +00:00
dcs
0a327f9db4 Introduce to the !program specification a capability similar to the one
that already exists for hosts: being able to specify a section that applies
to every program *except* the one in question.

The normal syntax for program specification is still valid. For the new
capability, one uses:

!-program

Since there is no way to specify a program beginning with a dash in the old
syntax, as it would be interpreted as the case above, the following
alternative syntax to the original capability is provided:

!+program

This shouldn't introduce incompatibilities with any syslogd configuration
in production because -stable's syslogd does not support a dash anywhere in
the program specification.

MFC after:	2 weeks
2002-09-23 11:59:19 +00:00
tjr
456a491da7 Implement the %lc, %ls and %[ conversions, which read sequences of wide
characters, non-whitespace wide character strings and wide character
strings in a scanset.
2002-09-23 11:35:50 +00:00
tjr
043dfd402f The character argument for __ungetwc() should be wint_t instead of wchar_t. 2002-09-23 11:31:18 +00:00
maxim
f3b0200748 Slightly rearrange a code in rev. 1.164:
o Move len initialization closer to place of its first usage.
o Compare len with 0 to improve readability.
o Explicitly zero out phlen in ip_insertoptions() in failure case.

Suggested by:   jhb
Reviewed by:    jhb
MFC after:      2 weeks
2002-09-23 08:56:24 +00:00
julian
11c408b717 Remove a bunch of stuff that is surplus now 2002-09-23 08:04:30 +00:00
peter
1cb6a2f64f PIC_GOTOFF is OBE. 2002-09-23 07:27:45 +00:00
jeff
c84628d7e4 - Include sys/ktr.h so that vnode_if.h can define trace points. 2002-09-23 07:21:25 +00:00
peter
6fedca521d use __packed, rather than __attribute__((packed)). 2002-09-23 06:50:07 +00:00
jmallett
5f673cf82e Use some macro evil to create the functions for using sysctl(3) to get each
variable natively.  It should allow you to use any sysctl mib set, but due
to limitations of what I can do with macros, right now it's limited to two,
which is all this program used anyway.

Sponsored by:	Bright Path Solutions
2002-09-23 06:47:39 +00:00
peter
6e5f1c19df Alfred got me thinking. Provide stubs for lint, and let the compilers
themselves cause a failure if it is told to use a __widget that there is
no implementation for them.  missing an implementation for __unused etc is
harmless.  But not having a __packed implementation when the kernel code
really needs it is a big deal.
2002-09-23 06:37:48 +00:00
alfred
2b5b784b49 use __packed/__aligned rather than GCC-specific __attribute__. 2002-09-23 06:35:33 +00:00
julian
fea0b72787 White space commit...
get prompted by Peter's commit to fix spaces that should be tabs in #defines
2002-09-23 06:33:02 +00:00
alfred
9bda36d997 s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
peter
d5db7184e3 I cannot win. I still managed to use #define<space> twice instead of
#define<tab> in spite of trying to make sure I didn't do this.
2002-09-23 06:19:31 +00:00
julian
d29e00d18f Add ability to make threads that run on > 1 cpu
this DOES NOT WORK YET. (well it kind-of-does but it's unsafe)

Submitted by: davidxu
2002-09-23 06:18:51 +00:00
mini
e206834961 Don't use compatability syscall wrappers in emulation code.
This is needed for the COMPAT_FREEBSD3 option split.

Reviewed by:	alfred, jake
2002-09-23 06:17:54 +00:00
julian
bcb38a31ff slightly clean up the thread_userret() and thread_consider_upcall() calls.
also some slight changes for TDF_BOUND testing and small style changes
Should ONLY affect KSE programs

Submitted by:	davidxu
2002-09-23 06:14:30 +00:00
jmallett
a7014de16e Check to see if we should print a space, rather than using the annoying
prefix methodology.  Adjust nearby style.

Sponsored by:	Bright Path Solutions
2002-09-23 06:14:13 +00:00
peter
1e5c466a52 Add a __section(x) macro as well. Use this in linker_set.h. ie:
static void const * const __set_##set##_sym_##sym
 __attribute__((__section__("set_" #set),__unused__)) = &sym
becomes:
static void const * const __set_##set##_sym_##sym
 __section("set_" #set) __unused = &sym
Like the other macros, these #define away for unrecognized compilers or
lint.

Also, fix the argments in the previous commit for the non-gcc case. lint
might be a bit happier about that.  Note that the gcc <= 2.6 case
needs some research.
2002-09-23 06:11:29 +00:00
julian
5f1e8c6326 Add code to create > 1 KSe per process.
(support code not yet complete)

Submitted by:	davidxu
2002-09-23 06:10:24 +00:00
peter
478da56c11 At great personal risk, add a __packed and __aligned(x) define that
expand to __attribute__((packed)) and __attribute__((aligned(x)))
respectively.  Replace the handful of gcc-ism's that use
__attribute__((aligned(16))) etc around the kernel with __aligned(16).

There are over 400 __attribute__((packed)) to deal with, that can come
later.  I just want to use __packed in new code rather than add more
gcc-ism's.
2002-09-23 05:55:10 +00:00
jeff
a1e3465870 - Automatically generate and insert KTR points in all VOPs. 2002-09-23 05:50:07 +00:00
julian
48fb4349d0 Indentation does not define a block.. you need breces {} as well..
also add a mutex assert.  (threaded path only)

Submitted by:	davidxu
2002-09-23 05:27:30 +00:00
mjacob
a16ca43ee6 Wads more cleanup...
In mpttimeout, call mpt_intr just on the offchance that we missed
an interrupt. We can check to see whether or not the command that
is timing out got completed.

When we *do* decide to timeout a command, set the command state to
REQ_TIMEOUT and then invoke another timeout (hz/10)- mpttimeout2.
This allows us to catch a couple cases we've seen where the command
we timed out on in fact is ready to be completed by the firmware.
In any case, it's only after mpttimeout2 is called that we actually
take down the private state and free the request itself. CAM has
been notified in mpttimeout anyway. This whole area should be redone,
but that will take 105% of my available game time for this month.

Fix a couple of missing (and not useful, at presnet) CAMLOCK_2_MPTLOCK
and MPTLOCK_2_CAMLOCK locations.

Split mpt_notify into mpt_ctlop, which handles all reply completions
that have 0x800000000 or'd into the ContextID. This function can, in
fact, call mpt_event_notify_reply, which handles the traditional
async event notifications. While we're at it, put in the extremely
important (but currently untested) code that send back an Ack to
an Event Notification (if the Event Notification is marked with
AckRequired). Note that an Ack also generates another ctlop completion,
tra la.

Fix up mpt_done substantially to try and get how we plug into CAM
correctly done. Remove bogus CAM_RELEASE_SIMQ settings.

Do some cleanups in mpt_action that are related to speed negotiation
for Ultra4 cards. This is an area that is still quite fragile and
worrisome as config data being read back often doesn't make sense or
jibe with the documentation.

At any rate, after these changes were done, I was finally able to
get Lars Eggert's dual 320M disk system to stay up under load all
weekend- hopefully we're in good enough for now shape.

MFC after:	1 week
2002-09-23 05:25:59 +00:00
jeff
4b760e8f27 - Hold the credential of the caller and use it in all subsequent vn ops.
- Get rid of the ill conceived aq_td field.

Suggested by:	rwatson
2002-09-23 05:20:00 +00:00
mjacob
8d27c78b06 Recognize the single channel 2Gb card (FC919)- thanks to LSI Logic for
pointing this out.

In mpt_intr, don't try and pop a reply queue element out *unless*
the interrupt status says you might have one.

MFC after:	1 week
2002-09-23 05:16:00 +00:00
mjacob
8a5d5158ac We do not need to expose mpt_notify outside of mpt_freebsd.c.
MFC after:	1 week
2002-09-23 05:14:38 +00:00
mjacob
2e37a126e1 When freeing a request, zero out the sequence number.
Define the CFG_DAGA_OFF offset as 128 bytes instead of 40- gives us
a more reasonable headroom.

When reading a config page, zero out the entire request area- not just
the length of the request. This is because we cleverly (cheezily) return
configuration data back into the allocated request area, so it's nice
to make sure we start with a clean area to write on.

MFC after:	1 week
2002-09-23 05:14:02 +00:00
mjacob
faa33a6518 Remove ISP_DMA_ADDR_T definition.
Instead, based upon whether ISP_DAC_SUPPORTED is defined, typedef
isp_dma_addr_t appropriately.

If ISP_DAC_SUPPORTRED is defined, the DMA_WD2/DMA_WD3 macros do something
useful, else they define to '0'.
2002-09-23 05:09:23 +00:00
mjacob
ad5c6d4c48 Add MBOX_INIT_REQ_QUEUE_A64/MBOX_INIT_RES_QUEUE_A64 definitions.
Define ispreq64_t to be the same as ispreqt3_t.
2002-09-23 05:04:16 +00:00
peter
c853ce6ce7 Delete a whole bunch of compatability defines that we dont use anymore. 2002-09-23 05:04:05 +00:00
mjacob
5aab64b24f Redo dma tag creation to correctly reflect the boundary and segment
limitations inherent to the isp1000 on SBus cards.
2002-09-23 05:03:34 +00:00
mjacob
7cc662b0bb Re-specify the bus space creation such that if we have ISP_DAC_SUPPORTED
defined, we set the address space limitation to BUS_SPACE_UNRESTRICTED,
otherwise to BUS_SPACE_MAXADDR_32BIT.

If we have a 1240, ULTRA2 or better, or an FC card, the boundary limit
is BUS_SPACE_UNRESTRICTED and segment limit is BUS_SPACE_MAXADDR_32BIT.

The older 1020/1040 cards have boundary and segment limits of
BUS_SPACE_MAXADDR_24BIT.
2002-09-23 05:02:53 +00:00
mjacob
b9b68e1838 Fix buglet in A64 CTIO3 structure copy. 2002-09-23 05:00:37 +00:00
mjacob
33ae3ad7c8 Remove ISP_DMA_ADDR_T define (see ispvar.h)
Add in commented out:

+/* #define     ISP_DAC_SUPPORTED       1 */
2002-09-23 05:00:14 +00:00
mjacob
ab9f6fc801 If we have a 1240 or an ULTRA2 or better card, use MBOX_INIT_RES_QUEUE_A64
(preparation for DAC/A64 support)
2002-09-23 04:59:42 +00:00
mjacob
a2fde432eb A SCSI_DELAY of zero is a legitimate value to have.
The notion that you must "always" have a delay is at best misinformed.
2002-09-23 04:56:35 +00:00
mjacob
116b056425 Note that the large Hitachi's are also CAM_QUIRK_HILUNS 2002-09-23 04:55:32 +00:00
mike
fb4d714b00 Be careful not to define GCC-specific optimizations in the non-GCC
case.
2002-09-23 04:32:17 +00:00
mike
44f67149a7 Use the system pselect(3). 2002-09-23 03:40:09 +00:00
jeff
bbd1b3ae24 - Correct the name in the header guards.
Spotted by:	rwatson
2002-09-23 00:29:31 +00:00
scottl
95e18ba243 The ahc driver should only have one devclass, not one for each bus
attachment.

Submitted by:	too many people to count
MFC after:	3 days
2002-09-22 23:03:31 +00:00
jdp
0641b68d4f Fix a couple of longstanding typos which would have made a
statement fail to compile if it weren't inside "#ifdef
__brokenalpha__".

Submitted by:	Birger Toedtmann <birger@takatukaland.de>
MFC after:	2 weeks
2002-09-22 19:27:07 +00:00
jdp
1b37164686 Follow the lead of recent changes in the 3com Linux driver by
disabling memory write invalidate unconditionally.  It looks like
they've decided that MWI just doesn't work with these devices.
Also, remove now-irrelevant code that set PCI write boundary values
based on the cache line size.

MFC after:	2 weeks
2002-09-22 18:58:58 +00:00
jdp
5e52f98750 Set up the BCM570x chip's DMA Read/Write Control register more
correctly.  This fixes the "watchdog timeout -- resetting" errors
seen on Dell 2650 systems.

MFC after:	1 month
2002-09-22 18:27:29 +00:00
iedowse
6306db0023 Attempt to fix the error reported by the alpha tinderbox. A pointer
was being cast to an integer as part of a hash function, so just
add an intptr_t cast to silence the warning.
2002-09-22 13:25:57 +00:00
maxim
4eff272870 o Fix a typo.
o Remove EOL spaces.

Submitted by:	Harold Gutch <logix@foobar.franken.de> (typo patch)
Approved by:	luigi
MFC after:	3 days
2002-09-22 11:30:51 +00:00
mckay
918629fa38 cp -p could report success even if a file copy failed. This was due to
the cumulative exit status being overwritten when directory permissions
were being set.  This was particularly bad when called from mv(1) to
perform a cross-device move as the original files were deleted even if
the copy failed.

Reported by:    Slaven Rezic <slaven.rezic@berlin.de>
Patch by:       bde
PR:             42789
2002-09-22 11:15:56 +00:00
grehan
0429db7240 Initialize fwsectors/fwheads to allow the DIOCGFWSECTORS and
DIOCGFWHEADS ioctls to return meaningful values to disklabel/newfs

Approved by: phk
2002-09-22 10:07:18 +00:00