Commit Graph

63257 Commits

Author SHA1 Message Date
Bill Paul
ee755665c2 Fix yet another "unconditionally free()ing memory without even checking
to see if it was malloc()ed first" bug. In bus_dmamap_create(), one of
two things can happen: either we need to allocate a special map due to
some manner of bounce buffering requirement, or we can DMA a buffer
in place. On the x86 platform, the "in place" case results in
bus_dmamap_create() returning a dmamap of NULL. The bus_dmamap_destroy()
routine later checks for NULL and won't bother free()ing the map if
it detects this condition.

But on the alpha, we don't use NULL, we use a statically allocated map
called nobounce_dmamap(). Unfortunately, bus_dmamap_destroy() does not
handle the condition where we attempt to destroy such a map: it tries
to free() the dmamap, which causes a panic.

Fix: test that map != &nobounce_dmamap before trying to free() it.

With this fix, my busdma-ified if_sis driver works on the alpha. I'm
a bit alarmed that I'm the first person ever to trip over this bug, since
we have been using busdma on the alpha for a while, and since it sort
of screams out "Hi! I'm a bug! Booga-booga!" when you look at it.

(Somewhere, somebody will say: "But Bill, why don't you just not bother
destroying the maps in this case." Because the API is supposed to be
a) symetrical and b) opaque to the caller. I can't know whether it's safe
to skip the bus_dmamap_destroy() step or not without sticking my fingers
into unsafe places, which is what I wanted to avoid in the first place.)
2001-08-14 21:56:53 +00:00
Warner Losh
482a667634 Treat min,max of 0,0 for IRQ special. Reject it if we didn't specifically
assing an IRQ.  Add better comments while I'm here.

MFC after: 1 day
# Note: That's merging all the -current pci pcic code, not just this one
# change for the Aug 15th code freeze.
2001-08-14 19:23:12 +00:00
Warner Losh
f18be15b41 Ask the kernel about IRQ 0 first. If the kernel responds with an IRQ,
use it.  If not, then loop asking for each one, with normal -I
processing.  This will effectively disable -I for when the pcic is in
PCI function interrupt routing mode.
2001-08-14 19:18:33 +00:00
Jens Schweikhardt
fa7a1ab968 Add hint about how we name profiled libraries (append _p at the right place).
PR:		8061
Submitted by:	Brandon Gillespie <brandon@ice.cold.org>
Reviewed by:	joerg, ru
MFC after:	5 weeks
2001-08-14 17:48:29 +00:00
Brian Somers
30949fd4b5 o Add ipv6 support, abstracting most NCP addresses into opaque
structures (well, they're treated as opaque).

  It's now possible to manage IPv6 interface addresses and routing
  table entries and to filter IPV6 traffic whether encapsulated or
  not.

  IPV6CP support is crude for now, and hasn't been tested against
  any other implementations.

  RADIUS and IPv6 are independent of eachother for now.

  ppp.linkup/ppp.linkdown aren't currently used by IPV6CP

o Understand all protocols(5) in filter rules rather than only a select
  few.

o Allow a mask specification for the ``delete'' command.  It's now
  possible to specifically delete one of two conflicting routes.

o When creating and deleting proxy arp entries, do it for all IPv4
  interface addresses rather than doing it just for the ``current''
  peer address.

o When iface-alias isn't in effect, don't blow away manually (via ``iface
  add'') added interface addresses.

o When listening on a tcp server (diagnostic) socket, bind so that a
  tcp46 socket is created -- allowing both IPv4 and IPv6 connections.

o When displaying ICMP traffic, don't display the icmp type twice.
  When display traffic, display at least some information about unrecognised
  traffic.

o Bump version

Inspired after filtering work by: Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
2001-08-14 16:05:52 +00:00
Ruslan Ermilov
135047c346 mdoc(7) police: bump document date. 2001-08-14 16:01:00 +00:00
Ruslan Ermilov
561433d6c0 mdoc(7) police: fix SEE ALSO. 2001-08-14 15:53:07 +00:00
Ruslan Ermilov
7f582a6969 From ChangeLog:
: 2001-08-13  Ruslan Ermilov  <ru@FreeBSD.org>
:
: 	* tmac/doc.tmac (Rv): Implement support for 0 or more than 1
: 	argument.
: 	* tmac/groff_tmac.man: Updated.

All of the following are now valid:

.Rv -std f1
.Rv -std f1 f2
.Rv -std f1 f2 f3
.Rv -std

The last form is useful where the standard return behavior is applicable
to all of the functions described in this particular manpage.  Look, for
example, at the stat(2), setresuid(2), and utimes(2) manpages.

The form with >1 functions is useful in a mixed environment.  See the
fhopen(2) manpage for an example.

Prodded by:	yar
2001-08-14 15:19:35 +00:00
Ruslan Ermilov
9b698804d9 This commit was generated by cvs2svn to compensate for changes in r81630,
which included commits to RCS files with non-trunk default branches.
2001-08-14 15:19:35 +00:00
Yaroslav Tykhiy
a2a0a4dc2a Use the ".Rv" mdoc(7) macro where appropriate.
Reviewed by:	ru
2001-08-14 14:20:35 +00:00
David E. O'Brien
94ddc5afe9 style(9) tweak
Approved by:	dd
2001-08-14 14:14:20 +00:00
Yaroslav Tykhiy
2fa4b9b3d6 Isolate the ERRORS section from the RETURN VALUES one.
Reviewed by:	ru
2001-08-14 14:10:01 +00:00
Ruslan Ermilov
59322008fb mdoc(7) police: removed final dot from the .Nd call. 2001-08-14 11:58:07 +00:00
Thomas Gellekum
566f6e4f1e Fix INT 10:09 (write char) and INT 10:0a (write char and attribute)
when cursor is at the lower right corner.

PR:		29574 29601
Submitted by:	Nils M Holm <nmh@t3x.org>
2001-08-14 11:57:14 +00:00
Thomas Gellekum
f7448f4297 Move update of BIOS variable at 0x6c (time counter) completely to timer.c.
Suggested by:	Igor Serikov <bt@turtle.pangeatech.com>
2001-08-14 11:54:37 +00:00
Ruslan Ermilov
753d686d34 mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
Warner Losh
e423aa38ba For TI12xx and newer, clear register 0x84. This is the "Multimedia"
register.  It enables Zoom Video.  It appears that on at least one
card that Monzoon is using sets these bits by default.  Nothing works
when these bits are set, everything works when they are clear.

Add commentary on some of the ti bits.  Make code a little clearer.
Also remove a call to pcic_pci_pd6729 which was prematurely added in
the last commit.
2001-08-14 07:31:47 +00:00
Poul-Henning Kamp
12d1aec26f linux ls fails on DEVFS /dev because linux_getdents fails because
linux_getdents uses VOP_READDIR( ..., &ncookies, &cookies ) instead of
     VOP_READDIR( ..., NULL, NULL ) because it seems to need the offsets for
     linux_dirent and sizeof(dirent) != sizeof(linux_dirent)...

PR:	29467
Submitted by:	Michael Reifenberger <root@nihil.plaut.de>
Reviewed by:	phk
2001-08-14 06:42:32 +00:00
Dima Dorfman
dd6ba956da An empty at.deny doesn't mean everyone can use at.
PR:		29549
Submitted by:	swear@aa.net
2001-08-14 06:41:20 +00:00
Dima Dorfman
f20347445f Sync the code that sucks in rc.conf and friends with what's in
rc.firewall6.  Specifically, don't do anything
if [ -z ${source_rc_confs_defined} ].  Not doing this leads to a problem
with dependencies: chkdepend will set, e.g., portmap_enable to YES if
some service that needs portmap is enabled, but rc.network sources
rc.firewall, which used to source defaults/rc.conf unconditionally,
which would result in portmap_enable being set back to NO.

PR:		29631
Submitted by:	OGAWA Takaya <t-ogawa@triaez.kaisei.org>
2001-08-14 05:50:19 +00:00
Warner Losh
82c38f3a43 Try to support the Cirrus Logic PD6833 better in pci mode. This is
done from the datasheets since I'm ahving problems with my laptop that
has the 6833 in it...

Minor rework of TI code.  Should be the same as before.
2001-08-14 05:31:56 +00:00
Jason Evans
f72a2ca28c Add missing commas. 2001-08-14 05:10:07 +00:00
Jake Burkholder
c64e8a395b Add a GENERIC kernel config for sparc64. 2001-08-14 03:27:02 +00:00
Jake Burkholder
05ae93afbf Add some definitions that got left out, *blush*. 2001-08-14 03:10:41 +00:00
Jake Burkholder
39f004ea89 Don't define ELF_RTLD_ADDR twice. 2001-08-14 03:09:19 +00:00
John Baldwin
4f99f11257 In prom_halt(), set the halt restart flags on the current CPU, not the
boot CPU.  This was the reason reboots on SMP systems could result in
weird hangs.  Unlike the x86, we do not need to switch back to the boot
CPU in order to reboot the machine.  See Section 3.4.5 of Part III
(Console Interface Architecture) from the Alpha Architecture Reference
Manual (aka the Brown Book) for more info.
2001-08-13 22:44:55 +00:00
John Baldwin
6937ca29dc Remove IPI_HALT to make way for a more correct fix for halts and restarts
on SMP alphas.
2001-08-13 22:41:15 +00:00
John Baldwin
1c94cee872 Minor style nits: cleanup and add some function prototypes. 2001-08-13 22:38:36 +00:00
Peter Wemm
9a2e7f1520 Initialize outfile in main() 2001-08-13 21:59:04 +00:00
Peter Wemm
668f24deae Initialize msg in main() 2001-08-13 21:58:16 +00:00
Peter Wemm
ec26f57025 Initialize fp in main() 2001-08-13 21:57:12 +00:00
Peter Wemm
c7a12b501b Initialize debugf in main() 2001-08-13 21:56:39 +00:00
Peter Wemm
98815cc740 ftrace is already initialized 2001-08-13 21:56:09 +00:00
Peter Wemm
ee5f51df8f msg_out is already initialized 2001-08-13 21:55:41 +00:00
Peter Wemm
ef15bfc59f Initialize infp at main() 2001-08-13 21:55:04 +00:00
Peter Wemm
ab01f43385 Initialize listf at main() 2001-08-13 21:54:47 +00:00
Peter Wemm
2b618987fe Rip out the old __stdin/out/err stuff. It was completely 100% useless. :-(
It was foiled because of dynamic copy relocations that caused compile-time
space to be reserved in .bss and at run time a blob of data was copied to
that space and everything used the .bss version..  The problem is that
the space is reserved at compile time, not runtime... So we *still* could
not change the size of FILE.  Sigh.  :-(

Replace it with something that does actually work and really does let us
make 'FILE' extendable.  It also happens to be the same as Linux does in
glibc, but has the slight cost of a pointer.  Note that this is the
same cost that 'fp = fopen(), fprintf(fp, ...); fclose(fp);' has.
Fortunately, actual references to stdin/out/err are not all that common
since we have implicit stdin/out/err-using versions of functions
(printf() vs. fprintf()).
2001-08-13 21:48:44 +00:00
Jason Evans
d55229b72e Add sx_try_upgrade() and sx_downgrade().
Submitted by:	Alexander Kabaev <ak03@gte.com>
2001-08-13 21:25:30 +00:00
Peter Wemm
9c347fa626 Revert part of the 1.11->1.11.1p1 change. Put the blank line back in
the beginning of constructed log messages being passed to $EDITOR.  This
is where folks start typing.
2001-08-13 21:21:13 +00:00
Andrey A. Chernov
c6fa3dde62 Fix uninitialized "force" variable.
PR:		23203
Submitted by:	fenner
Approved by:	markm
2001-08-13 19:43:14 +00:00
Peter Wemm
f949006c58 Turn cvs back on. It seems that there's nothing outright broken, but there
are some odd things I've run into.. eg: log message formatting, etc.
2001-08-13 19:04:26 +00:00
Semen Ustimenko
395a636fb2 Fix an bug in FreeBSD attach routine - attaching MII interfaces before doing
common_attach is wrong as common attach initialize some fileds used by
mediainit routine. This was hard to notify because loading driver as kld
lead to mediainit routine being called after common_attach, though probe_phy
is called before.

MFC after:	1 week
2001-08-13 18:37:31 +00:00
Semen Ustimenko
2c9067b16f Add support for 802.1Q VLAN and oversized ethernet frames.
PR:		kern/29235
Submitted by:	Peter Jeremy <peter.jeremy@alcatel.com.au>
Reviewed by:	Yar Tikhiy <yar@FreeBSD.org>
MFC after:	1 week
2001-08-13 18:32:39 +00:00
Ruslan Ermilov
ed2879a5cf mdoc(7) police: s;BSD/OS;.Bsx; where appropriate. 2001-08-13 17:07:40 +00:00
Ruslan Ermilov
d013e3f544 mdoc(7) police: s/NetBSD/.Nx/ where appropriate. 2001-08-13 17:00:36 +00:00
Ruslan Ermilov
04da392069 mdoc(7) police: s/OpenBSD/.Ox/ where appropriate. 2001-08-13 16:43:02 +00:00
Ruslan Ermilov
c5e7e03a14 Spell "FreeBSD" with "F" and "BSD" in uppercase. 2001-08-13 16:33:00 +00:00
Ruslan Ermilov
8af1452cf8 Removed duplicate VCS ID tags, as per style(9). 2001-08-13 14:06:34 +00:00
Jeroen Ruigrok van der Werven
a75b8f47d1 Remove comment, which didn't even help anyway.
Submitted by:	bde, long ago
2001-08-13 13:29:29 +00:00
Bruce Evans
3d66f80905 Use interrupt gates instead of trap gates for breakpoint and trace
traps, so that ddb can keep control (almost) no matter how it is
entered.  This breaks time-critical interrupts while the system is
stopped in ddb, but I haven't noticed any significant problems except
that applications become confused about the time.  Lost time will be
adjusted for later.  Anyway, the half-baked disabling of interrupts in
Debugger() gives the same problems for the usual way of entering ddb.
2001-08-13 13:22:50 +00:00