Commit Graph

203861 Commits

Author SHA1 Message Date
Luiz Otavio O Souza
ea8b18848f Add the A20 glue code for if_dwc.
This code initializes the GMAC clock and sets the pin mux to rgmii.

It also override the if_dwc defaults to set the alternate descriptor type
and MII clock used on A20.

Tested on cubieboard2 and banana pi.
2015-09-21 01:51:37 +00:00
Adrian Chadd
3d07cc29cf Disable HT40 in if_rsu for now. There's something missing in the HT40
setup pieces and so (at least) transmit doesn't work.

It'll just fall back to being a straight HT20 device and negotiate
HT20 only.

Tested by: Idwer Vollering <vidwer@gmail.com>
2015-09-20 22:52:40 +00:00
Craig Rodrigues
3ba5ea2408 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 21:21:17 +00:00
Craig Rodrigues
626c9d7433 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 21:21:01 +00:00
Konstantin Belousov
1d48f121d8 Ensure that when a blockable open of fifo returns success, a valid
file descriptor opened for complimentary access exists as well.

The implementation of the guarantee is done by counting the
generations of readers and writers opens.  We return success and not
EINTR or ERESTART error, when the sleep for complimentary opening is
interrupted, but the generation was changed during the sleep.

Longer explanation: assume there are two threads, A doing open("fifo",
O_RDONLY) and B doing open("fifo", O_WRONLY), and no other threads
either trying to open the fifo, nor there are any file descriptors
referencing the fifo.  Before the change, it was possible e.g. for for
thread A to return a valid file descriptor, while thread B returned
EINTR if a signal to B was delivered simultaneously with the wakeup
from A.  After the change, in this situation both A::open() and
B::open() succeed and the signal is made "as if" it was noticed
slightly later.  Note that the signal actual delivery is not changed,
it is done by ast on syscall return path, so signal handler is still
executed before first instruction after syscall.

See PR for the code demonstrating the issue.

PR:	203162
Reported by:	Victor Stinner victor.stinner@gmail.com
Reviewed by:	jilles
Tested by:	bapt, pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-09-20 21:18:33 +00:00
Alexander Motin
2eb293b996 Output times as normal microseconds, rather then in bintime format. 2015-09-20 21:06:37 +00:00
Craig Rodrigues
d9556fb15d Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:55:00 +00:00
Craig Rodrigues
5e939c7dcb Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:53:24 +00:00
Craig Rodrigues
107909b888 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:52:13 +00:00
Craig Rodrigues
85cef63214 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:51:52 +00:00
Craig Rodrigues
060e5496fc Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:50:56 +00:00
Craig Rodrigues
c83f3fc4b4 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:50:18 +00:00
Craig Rodrigues
25070501c6 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:28:49 +00:00
Craig Rodrigues
4178e4b070 Remove names from some prototypes 2015-09-20 20:27:57 +00:00
Craig Rodrigues
7dcedc7a74 Remove names from some prototypes 2015-09-20 20:26:46 +00:00
Craig Rodrigues
f98e0c9dd8 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:24:28 +00:00
Craig Rodrigues
55b6b759c8 Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
Craig Rodrigues
d5bf9eb518 Remove names from some prototypes 2015-09-20 20:21:49 +00:00
Craig Rodrigues
8d7e1f1585 Remove names from some prototypes 2015-09-20 20:16:34 +00:00
Craig Rodrigues
48d59c2270 Remove names from prototypes 2015-09-20 20:15:44 +00:00
Alan Cox
d9347bca9a Correct a non-fatal error in vm_pageout_worker(). vm_pageout_worker()
should not assume that vm_pages_needed will remain set while it sleeps.
Other threads can clear vm_pages_needed by performing a sufficient
number of vm_page_free() calls, e.g., process termination.  The effect
of this error was that vm_pageout_worker() would free and/or launder
pages when, in fact, there was no shortage of free pages.

Rewrite a nearby comment to describe all of the possible cases and not
just the most common case.  The problem being that the comment made
the most common case seem like the only case.

Reviewed by:	kib
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-09-20 19:20:03 +00:00
Luiz Otavio O Souza
715a136ddf Fix the build by adding the alternate descriptors and MII clock defines.
This obviously should be in the last commit.
2015-09-20 14:28:06 +00:00
Luiz Otavio O Souza
5df539274f Add alternate descriptors support for if_dwc.
This also adds a newbus interface that allows a SoC to override the
following settings:

 - if_dwc specific SoC initialization;
 - if_dwc descriptor type;
 - if_dwc MII clock.

This seems to be an old version of the hardware descriptors but it is
still in use in a few SoCs (namely Allwinner A20 and Amlogic at least).

Tested on Cubieboard2 and Banana pi.

Tested for regressions on Altera Cyclone by br@ (old version).

Obtained from:	NetBSD
2015-09-20 14:13:29 +00:00
Luiz Otavio O Souza
da9a326be3 Remove unnecessary includes and, while here, sort them. 2015-09-20 13:15:09 +00:00
Alexander Motin
218d25d00b Mark with DMA flag I/Os waiting for iSCSI write data after R2T.
Reads and immediate writes are not blocking, so don't bother.
2015-09-20 11:39:19 +00:00
Alexander Motin
b22213694e Remove couple excess SGLIST I/O flags.
Those flags duplicated respective (sg_entries > 0) values.
2015-09-20 10:40:30 +00:00
Craig Rodrigues
6874645fa9 Add include for declaration of _set_tp(). Eliminates -Wmissing-prototypes warnings. 2015-09-20 04:59:01 +00:00
Craig Rodrigues
25462e6589 Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 04:26:55 +00:00
Craig Rodrigues
193d994d2d Use ANSI C prototypes.
Eliminates gcc 4.9 warnings.
2015-09-20 04:23:16 +00:00
Craig Rodrigues
0b64c636db Add declaration to eliminate -Wmissing-prototypes warning 2015-09-20 04:21:44 +00:00
Craig Rodrigues
9a50fd2d05 Add declarations to netdb_private.h to eliminate -Wmissing-prototypes warnings. 2015-09-20 04:20:31 +00:00
Craig Rodrigues
bf1aa507b0 Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 04:17:53 +00:00
Craig Rodrigues
ae274020ba Define _NS_PRIVATE to make declarations visible.
This eliminates -Wmissing-prototypes warnings.
2015-09-20 04:17:03 +00:00
Craig Rodrigues
ffdd70376a Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 04:15:37 +00:00
Craig Rodrigues
9762525c95 Adding missing declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 04:06:55 +00:00
Craig Rodrigues
f8af09cd0f Add missing include to eliminate -Wmissing-prototypes warning 2015-09-20 04:06:04 +00:00
Craig Rodrigues
6db7b53b71 Add declaration to eliminate -Wmissing-prototypes warning 2015-09-20 03:59:27 +00:00
Craig Rodrigues
e0b54d0140 Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 03:58:27 +00:00
Craig Rodrigues
97f3e1c2a2 Adding missing include to eliminate -Wmissing-prototypes warning 2015-09-20 03:56:57 +00:00
Craig Rodrigues
486828e8a3 Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 03:55:03 +00:00
Craig Rodrigues
8d3aa83d8b Add declarations to eliminate -Wmissing-prototypes warnings. 2015-09-20 03:53:08 +00:00
Craig Rodrigues
d5cc6f7378 Add declaration to eliminate -Wmissing-prototypes warning. 2015-09-20 03:51:15 +00:00
Craig Rodrigues
7ca26e3831 Add missing include to eliminate -Wmissing-prototypes warnings 2015-09-20 03:49:08 +00:00
Craig Rodrigues
cfb65fa249 Add missing includes to eliminate -Wmissing-prototypes warnings 2015-09-20 03:45:57 +00:00
Konstantin Belousov
8f3da8a2d0 Use tabs for indend.
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-09-20 01:35:51 +00:00
Konstantin Belousov
cff8c6f2d1 Add support for weak symbols to the kernel linkers. It means that
linkers no longer raise an error when undefined weak symbols are
found, but relocate as if the symbol value was 0.  Note that we do not
repeat the mistake of userspace dynamic linker of making the symbol
lookup prefer non-weak symbol definition over the weak one, if both
are available.  In fact, kernel linker uses the first definition
found, and ignores duplicates.

Signature of the elf_lookup() and elf_obj_lookup() functions changed
to split result/error code and the symbol address returned.
Otherwise, it is impossible to return zero address as the symbol
value, to MD relocation code.  This explains the mechanical changes in
elf_machdep.c sources.

The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the
lookup() call, the patch leaves the code as is (untested).

Reported by:	glebius
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-09-20 01:27:59 +00:00
Hiroki Sato
bb957021d7 Add PF_LOCAL support in getaddrinfo(3) and getnameinfo(3):
- In a PF_LOCAL address, "hostname" must begins with '/' and "servname"
  is always NULL.  All of ai_flags are ignored.

- PF_UNSPEC matches PF_LOCAL.  EAI_SERVICE is not returned to make
  AF-independent programming easier; "servname" is always ignored
  in PF_LOCAL.  In practice, PF_INET* and PF_LOCAL are
  mutually-exclusive because a hostname which begins with '/' is invalid
  in PF_INET*.  No domain name resolution is performed for a PF_LOCAL address.

Differential Revision:	https://reviews.freebsd.org/D3634
2015-09-20 01:09:23 +00:00
Hiroki Sato
fb0e28f0e1 - Remove unused union p_un.
- Use NI_MAXHOST-long buffer for getnameinfo().
  Although INET6_ADDRSTRLEN was designed to hold the longest
  IPv6 address in IPv4-mapped address format a long time ago,
  getnameinfo() can return scope identifier in addition to it.

MFC after:	1 day
2015-09-19 23:48:06 +00:00
Hiroki Sato
157d2c3355 - Fix a crash on a rpc entry when an IPv6 address is explicitly specified
in -a flag.

- Fix a bug that sockaddr_in was used where sockaddr_in6 should have
  been used.  This was not actually harmful because offsetof(struct
  sockaddr_in, sin_port) is equal to offsetof(struct sockaddr_in6,
  sin6_port).

MFC after:	1 day
2015-09-19 23:27:22 +00:00
Jilles Tjoelker
1c0046d792 libc: Consistently call _ioctl() internally, not ioctl(). 2015-09-19 20:27:09 +00:00