Commit Graph

89514 Commits

Author SHA1 Message Date
chs 4923ddfdda in sys_mincore(), check the return value of uvm_vslock() to determine
if the vec pointer is valid rather than using uvm_useracc().
uvm_useracc() just tells you if the permissions of a user mapping allow
the desired access, not whether faulting on that mapping will succeed.
2001-12-14 04:21:22 +00:00
thorpej 6464462736 Remove the code that supports the old PLT format (the code for that
is not present in the master FSF version of this file).
2001-12-14 01:15:08 +00:00
thorpej 5ddefb1229 Garbage-collect the code that created old-format PLT entires.
The NetBSD/alpha ld.elf_so understands both formats, now.
2001-12-14 01:12:24 +00:00
thorpej 6e94624a62 Add code to peek into the PLT and determine which PLT entry format
is being used.
2001-12-14 00:53:06 +00:00
lukem 0ab8000335 as this installs in /sbin, set LDSTATIC?=-static. fixes PR [bin/14886] 2001-12-14 00:52:34 +00:00
mjacob 219d22404b Major restructuring for swizzling to the request queue and unswizzling from
the response queue. Instead of the ad hoc ISP_SWIZZLE_REQUEST, we now have
a complete set of inline functions in isp_inline.h. Each platform is
responsible for providing just one of a set of ISP_IOX_{GET,PUT}{8,16,32}
macros.

The reason this needs to be done is that we need to have a single set of
functions that will work correctly on multiple architectures for both little
and big endian machines. It also needs to work correctly in the case that
we have the request or response queues in memory that has to be treated
specially (e.g., have ddi_dma_sync called on it for Solaris after we update
it or before we read from it).

One thing that falls out of this is that we no longer build requests in the
request queue itself. Instead, we build the request locally (e.g., on the
stack) and then as part of the swizzling operation, copy it to the request
queue entry we've allocated. I thought long and hard about whether this was
too expensive a change to make as it in a lot of cases requires an extra
copy. On balance, the flexbility is worth it. With any luck, the entry that
we build locally stays in a processor writeback cache (after all, it's only
64 bytes) so that the cost of actually flushing it to the memory area that is
the shared queue with the PCI device is not all that expensive. We may examine
this again and try to get clever in the future to try and avoid copies.

Another change that falls out of this is that MEMORYBARRIER should be taken
a lot more seriously. The macro ISP_ADD_REQUEST does a MEMORYBARRIER on the
entry being added. But there had been many other places this had been missing.
It's now very important that it be done.

For NetBSD, it does a ddi_dmamap_sync as appropriate. This gets us out of
the explicit ddi_dmamap_sync on the whole response queue that we did for SBus
cards at each interrupt.

Set things up so that platforms that cannot have an SBus don't get a lot of
the SBus code checks (dead coded out).

Additional changes:

Fix a longstanding buglet of sorts. When we get an entry via isp_getrqentry,
the iptr value that gets returned is the value we intend to eventually plug
into the ISP registers as the entry *one past* the last one we've written-
*not* the current entry we're updating. All along we've been calling sync
functions on the wrong index value. Argh. The 'fix' here is to rename all
'iptr' variables as 'nxti' to remember that this is the 'next' pointer-
not the current pointer.

Devote a single bit to mboxbsy- and set aside bits for output mbox registers
that we need to pick up- we can have at least one command which does not
have any defined output registers (MBOX_EXECUTE_FIRMWARE).

Explicitly decode GetAllNext SNS Response back *as* a GetAllNext response.
Otherwise, we won't unswizzle it correctly.

Nuke some additional __P macros.
2001-12-14 00:13:44 +00:00
mjacob acbfdd822a Roll f/w to latest level, correcting several, ah, interesting bugs. 2001-12-14 00:07:55 +00:00
augustss a30c07720a Don't use fd_set to keep track of errors to ignore. Doing so relies on
overriding FD_SETSIZE.  Not overriding it makes it stomp all over memory
(which caused the debug outputs we've seen lately).
It used to work, but toolification of lint broke it.
2001-12-13 23:56:00 +00:00
thorpej 67925dcb0d Supply two lazy binding routines for Alpha: one that works with the
old PLT format, and one that works with the new.

XXX We currently always use _rtld_bind_start_old() in
_rtld_setup_alpha_pltgot().  We need to add code to peek
into one of the PLT entries to see which format it's in
and pick the correct binding routine.
2001-12-13 22:34:51 +00:00
tv 816077b47e Fix problem introduced with the MKMAN->NOMAN conversion. 2001-12-13 22:33:20 +00:00
kleink 327f6e3bc2 Document %z. 2001-12-13 22:11:27 +00:00
rafal b8f0be7074 Check in workaround for BFD ABI change on MIPS: the new MIPS BFD generates
relocs for local symbols as section-relative REL32 relocs with values based
at 0, whereas previously BFD generated those relocs with values based at the
start address of the section.

This code adjusts all STT_SECTION REL32 relocs which have values less than
the start of the section by adding in the base address of the section.  This
may limit section sizes to 2GB, but that shouldn't be a problem for now.

XXX: Needs to be followed-up with binutils list to get closure on which
interpretation is correct (the new ABI or the old one), I just haven't
yet had the time to chase that.
2001-12-13 21:41:58 +00:00
thorpej cbadc6e3d3 Use numeric labels. 2001-12-13 21:34:04 +00:00
bouyer 71e063c830 pdc202xx_setup_channel: remove a duplicate line. 2001-12-13 20:57:22 +00:00
aymeric 8547d02861 FreeBSD PR#23912 fixed by applying a patch from nvi 1.81.x
"underflow of cnt in vs_paint() by O_NUMBER_LENGTH when both leftright and
 number options in use"
2001-12-13 20:53:47 +00:00
aymeric b9d2b65ffd Finally apply a fix from nvi 1.81.x to replace a fix committed by
Simon Burge which came from the Debian project.
This is still not TRT, but it's correct, and it gets us closer to future
versions of nvi.
I'll do ART (A Right Thing) when I have time... That's why I'm committing
this now. :-/
This fixes FreeBSD PR#23912
2001-12-13 20:51:36 +00:00
bouyer ca9f8b13da Regen: Add some promise controllers, from FreeBSD 2001-12-13 20:41:05 +00:00
bouyer b981b05472 Add some promise controllers, from FreeBSD 2001-12-13 20:40:28 +00:00
thorpej 23abd45cd4 Add RCS ID. 2001-12-13 20:31:31 +00:00
thorpej bbb7ad0534 * Add a linker script which provides a _GOT_END_ symbol that we can
use to find the end of the GOT, rather than relying on _DYNAMIC
  to immediately follow the GOT.  (A change in current binutils
  moved _DYNAMIC, and thus would have broken our Alpha ld.elf_so).
* Add #ifdef'd out code to deal with the new PLT format.
2001-12-13 20:30:48 +00:00
gmcgarry 367be6a153 Sprinkle around the term "machine description file", since this is
the term used in config(9), autoconf(9) and in Torek's paper.

Also remove (comment out) reference to the 4.4BSD config docs,
since they are not installed in usr/share/doc/smm/02.config and
possibly aren't relevant any longer.  From comments made on
tech-kern by jhawk and tls.
2001-12-13 19:47:19 +00:00
tv 94d108be2e Avoid building and installing every time, so that we don't have toolchain
dependencies cause things like constantly regenerating catpages....
2001-12-13 19:36:22 +00:00
gmcgarry c0ac5406a7 Use "machine description file" and "device definition files" correctly. 2001-12-13 19:29:32 +00:00
gmcgarry 612fadfc86 Document the defflag and defparam statements. 2001-12-13 19:26:50 +00:00
augustss 04c10fc0cf Initialize lock. 2001-12-13 17:25:37 +00:00
augustss 3df38cc501 Some debug stuff. 2001-12-13 17:15:09 +00:00
augustss f2821a312a Fix TODO comment. 2001-12-13 17:14:21 +00:00
he a18ce029f6 Deal with lossage caused by the addition of the netbsd-1-5 branch tag
to these files.

Apparently, the "magic" which causes the latest version on the
vendor branch to appear at the head in the repository broke when
the netbsd-1-5 tag was added.  Thus, merge in the lost revisions from
the vendor tag to work around this.
2001-12-13 15:53:54 +00:00
augustss 090d1a628e Move parameter checks to a common place. 2001-12-13 15:09:07 +00:00
augustss 2485171a67 Use unsigned ints. 2001-12-13 15:08:26 +00:00
mrg 07f129f94a clean up a couple of items. 2001-12-13 14:02:02 +00:00
reinoud 994f1fb3f6 Remove `const' attribute from writelabel prototype and function to make it
compile again on Alpha.
2001-12-13 13:52:13 +00:00
junyoung a477ade7f9 Add myself. 2001-12-13 08:53:54 +00:00
junyoung 9dbc5fd199 ANSIfication & KNF fixes. 2001-12-13 08:38:35 +00:00
junyoung f075aa60ac ANSIfication & cosmetic changes. 2001-12-13 08:35:38 +00:00
junyoung 9ff2a7a76d ANSIfy. 2001-12-13 08:34:55 +00:00
junyoung d5decae4e0 ANSIfication & cosmetic changes. 2001-12-13 08:31:39 +00:00
lukem c00b68cf31 clamp bsize to MAXBSIZE 2001-12-13 06:31:31 +00:00
lukem b38676bc97 constrain bsize and fsize to MAXBSIZE 2001-12-13 06:29:15 +00:00
chs 2dfd15933e change the reference-counting of PT pages to start from zero instead of
one, so that we don't mess up the global count of wired pages by having
the page's wire_count be non-zero when we free the page.
pointed out by Michael Hitch.
2001-12-13 04:39:50 +00:00
lukem 94ff981067 missed a couple of NOMAN= :( 2001-12-13 03:44:37 +00:00
tacha cba701fed7 remove bogus printf. 2001-12-13 02:50:30 +00:00
augustss 0ba8bac8fe Fix some bugs. But the driver is still borken. 2001-12-13 02:16:21 +00:00
lukem c10ff7575c YANOMAN= 2001-12-13 01:26:39 +00:00
augustss d6bbabfb1b Some DIAGNOSTIC nonsense. 2001-12-13 00:33:58 +00:00
augustss a97820e536 Don't use u_int since it requires sys/types.h 2001-12-13 00:33:36 +00:00
thorpej 4c49d5310f No need to explicitly pull in bsd.own.mk. 2001-12-13 00:31:39 +00:00
thorpej 2152080e67 No need to pull in bsd.own.mk explicitly. 2001-12-13 00:30:28 +00:00
thorpej 7a3fcb2adf Convert unaligned relocs to aligned relocs if they happen to be
aligned.  Corresponds to part of rev 1.21 of this file in the
master FSF sources.

Thanks to Michael Rauch <mrauch@netbsd.org> for fishing out the patch.
2001-12-13 00:21:57 +00:00
thorpej d043d0d483 Revert previous, as was done so in the master FSF sources. The
original problem will be fixed in a forthcoming commit.
2001-12-13 00:18:50 +00:00