Commit Graph

208439 Commits

Author SHA1 Message Date
andrew
9b718f1d01 Bring in the start of the arm64 kernel.
This is only the minimum set of files needed to boot in qemu. As such it is
missing a few things.

The bus_dma code is currently only stub functions with a full implementation
from the development tree to follow.

The gic driver has been copied as the interrupt framework is different. It
is expected the two drivers will be merged by the arm intrng project,
however this will need to be imported into the tree and support for arm64
would need to be added.

This includes code developed by myself, SemiHalf, Ed Maste, and Robin
Randhawa from ARM. This has been funded by the FreeBSD Foundation, with
early development by myself in my spare time with assistance from Robin.

Differential Revision:	https://reviews.freebsd.org/D2199
Reviewed by:	emaste, imp
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
2015-04-13 14:43:10 +00:00
andrew
837a74ac17 Update the arm devmap code to also work with arm64.
There are a few differences between the two. On arm we need to provide a
list of addresses we may be mapping before we have initialised the virtual
memory subsystem, however on arm64 we allocate a small (2MiB for a 4k
granule) range to be used for such purposes.

Differential Revision:	https://reviews.freebsd.org/D2249
Sponsored by:	The FreeBSD Foundation
2015-04-13 13:21:27 +00:00
markj
47f557e75d Fix a possible refcount leak in regen_tmpaddr().
public_ifa6 may be set to NULL after taking a reference to a previous
address list element. Instead, only take the reference after leaving the
loop but before releasing the address list lock.

Differential Revision:	https://reviews.freebsd.org/D2253
Reviewed by:		ae
MFC after:		2 weeks
2015-04-13 01:55:42 +00:00
eadler
e3b60002c6 README:
- the reference to 'ancient' LINT file was added in 2000 [r64047 | alex
	  | 2000-07-31].   Remove the reference entirely now.
	- add the tests directory
2015-04-12 23:43:41 +00:00
jkim
0b04dab420 Fix build on i386.
Reported by:	bz
2015-04-12 22:40:27 +00:00
pluknet
27a0ecce8d Remove obsolete bits about maximum number of file systems.
NMOUNT has gone together with static mount table in 4.3BSD-Reno.

MFC after:	1 week
2015-04-12 21:14:58 +00:00
pfg
b226379a0c Add definition for the gcc gnu_inline attribute.
This uses a non-standard (who would guess that) inlining method
that is useful for legacy GNU software. This attribute was added
in GCC 4.1.3. Older versions of clang would just ignore the
attribute but as lately it is supported also there.

This is currently unused but it is required for the
FORTIFY_SOURCE extension.
2015-04-12 16:43:55 +00:00
takawata
7a032b3c81 Accept LE event on hccontrol socket. 2015-04-12 15:08:41 +00:00
takawata
646368c717 Add HCI/LMP revision information. 2015-04-12 14:38:18 +00:00
andrew
d6ba331a75 Add a driver for the ARM Power State Coordination Interface (PSCI). This
handles versions 0.1 and 0.2 of the standard on 32-bit ARM.

With this driver we can shutdown in QEMU. Further work is needed to
turn secondary cores on on boot and to support later revisions of the
specification.

Submitted by:	Robin Randhawa <Robin.Randhawa at ARM.com>
Sponsored by:	The FreeBSD Foundation
2015-04-12 13:00:58 +00:00
markm
51200db9e0 Fix a very minor typo. 2015-04-12 11:23:59 +00:00
kib
1bd8147e56 Define capabilities bits from the revision 007 of the document 302223
"Intelб╝ Processor Vendor-Specific ACPI Interface Specification",
issied Dec 2014.  Previous revision 005 was from Sep 2006.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-04-12 10:28:15 +00:00
trasz
d5617cbc74 Add libxo(3) support to iscsictl(8).
PR:		198396
Submitted by:	Marie Helene Kvello-Aune <marieheleneka at gmail.com>
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2015-04-12 09:36:50 +00:00
andrew
33d50beb4d Switch to the new v6 pmap code to increase its testing. It will now be
built as part of universe.
2015-04-12 08:10:18 +00:00
dchagin
02e5fc3da7 Rework r281162. Indeed, the flexible array member is preferable here.
Suggested by:   Justin T. Gibbs

MFC after:	3 days
2015-04-12 06:21:58 +00:00
adrian
9f1456194d Start enabling the available GPIO pins on the Carambola 2.
The carambola2 exposes all the gpio pins, but some are reserved for
core functions (eg usb, ethernet, etc.) Others are configured by default
to be available as normal GPIO pins to do interesting things with.

GPIO 18->23 is the I2S, SLIC and SPDIF device pins, but none of those
are currently used.  So, just allow those to show up.

Tested:

* AR9344, Carambola 2
* (.. bitbang SPI to an Adafruit LCD via libgpio, because FreeBSD could
  do with more shiny output devices that aren't network interfaces.)

TODO:

There are some other pins aren't currently included here, but should be.
The LED pins are for the internal switch inside the AR9344.

* GPIO 0+1 are "LED0 + LED1", but they're tied to high for bootstrapping.
* GPIO 13-17 are "LED2..7", but they're tied (H, L, L, L, H) for bootstrapping.
* GPIO 11 and 12 are UART RTS/CTS or I2S; but GPIO 12 is tied L for bootstrap.
2015-04-12 00:02:32 +00:00
alc
f116ec9943 Correct an off-by-one error in vm_reserv_reclaim_contig() that results in
an infinite loop.

Submitted by:	Svatopluk Kraus
MFC after:	1 week
2015-04-11 22:57:13 +00:00
andrew
285a2b7b6d Change the virtual address used to not be 0xc0000000, the arm loader
doesn't handle this address.
2015-04-11 20:44:21 +00:00
will
f65fe7b130 uiomove_object_page(): Avoid instantiating pages in sparse regions on reads.
Check whether the page being requested is either resident or on swap.  If
not, read from the zero_region instead of instantiating an unnecessary page.

This avoids consuming memory for sparse files on tmpfs, when they are read
by applications that do not use SEEK_HOLE/SEEK_DATA (which is most of them).

Reviewed by:	kib
MFC after:	1 week
Sponsored by:	Spectra Logic
2015-04-11 18:51:41 +00:00
rpaulo
c5de0644ae Add support for controlling the trackpoint when Synaptics is enabled.
To accomplish this, we must put the Synaptics hardware in passthrough
mode when talking to the trackpoint.

I only performed minor style modifications.

Submitted by:	Jan Kokemüller <jan.kokemueller at gmail.com>
MFC after:	1 week
2015-04-11 18:45:22 +00:00
rpaulo
2e24220c34 Improve Synaptics support for newer touchpads.
Enable two finger scrolling by default and disable the edge scrolling if
the touchpad has no physical zone for it.  Disable directional scrolling
by default to avoid using extended buttons as scroll buttons.

Add support for ClickPad.  On Lenovo laptops, this is the button
reported when one presses the touchpad.

While there, fix a problem where the extended buttons were not reporting
the button release event correctly: we need to save the state of the
buttons and report it to sysmouse until we receive a packet from the
touchpad indicating the button has been released.  This makes it
possible to use an extended button to resize a window.  On Lenovo
laptops, the major buttons are actually reported as extended buttons.

Tested by:	many (current@)
MFC after:	1 week
2015-04-11 18:44:07 +00:00
andrew
ed466759a9 Add support for the QEMU virt SoC. This is a SoC built depending on the
command line arguments passed in. It will then generate a dtb on the fly,
as such no dts will be added as it may be incorrect.

Relnotes:	yes
2015-04-11 17:52:47 +00:00
andrew
e2a65d5cfa Add support for the uart classes to set their default register shift value.
This is needed with the pl011 driver. Before this change it would default
to a shift of 0, however the hardware places the registers at 4-byte
addresses meaning the value should be 2.

This patch fixes this for the pl011 when configured using the fdt. The
other drivers have a default value of 0 to keep this a no-op.

MFC after:	1 week
2015-04-11 17:16:23 +00:00
mjg
7f65d178b4 Replace struct filedesc argument in getsock_cap with struct thread
This is is a step towards removal of spurious arguments.
2015-04-11 16:00:33 +00:00
mjg
22da590f11 fd: remove filedesc argument from fdclose
Just accept a thread instead. This makes it consistent with fdalloc.

No functional changes.
2015-04-11 15:40:28 +00:00
andrew
acfe91018e Add fdt support to the arm loader.efi 2015-04-11 11:00:53 +00:00
andrew
cd4b891e8f Only add -fPIC to CFLAGS and -Wl,-znocombreloc to LDFLAGS on x86, they
shouldn't be used on arm.
2015-04-11 10:36:48 +00:00
andrew
e4b0c28166 Move reloc.c to the top level Makefile as it has become generic. 2015-04-11 10:21:26 +00:00
andrew
968170bb2a Update the arm efi ldscript to generate a valid efi binary 2015-04-11 10:07:58 +00:00
ganbold
c2d0c65e7a This modifies several FreeBSD drivers to use the GNU approach to
supply clk81 information.  It also changes the hardware strings
in some of the drivers to match what's present in the GNU files.

Submitted by:  John Wehle
Reviewed by:   imp
2015-04-11 08:34:41 +00:00
ganbold
2c7cd4307b This modifies several FreeBSD drivers to use the hardware strings
present in the GNU dts files.

Submitted by:  John Wehle
Reviewed by:   imp
2015-04-11 08:30:37 +00:00
ganbold
3d8067d548 This modifies the FreeBSD Amlogic DTS files to use the GNU files
as the base.

Submitted by:	John Wehle
Reviewed by:	imp
2015-04-11 08:27:38 +00:00
ganbold
436ddce665 The GNU files don't include a DTS for the aml8726-m8b (which has
cortex-a5 cores unlike the aml8726-m8 which has cortex-a9 cores).

Submitted by:	John Wehle
Reviewed by:	imp
2015-04-11 08:25:53 +00:00
ganbold
759dedc691 The GNU Amlogic DTS files have some errors (e.g. bad register
address, bad IRQ, etc) which are fixed by this patch.

John has sent these changes to the author of the files who said
he'll propagate the changes further upstream.

Submitted by:	John Wehle
Reviewed by:	imp
2015-04-11 08:17:39 +00:00
ngie
49ccaa253b Fix even more warnings..
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 07:37:21 +00:00
ngie
c1dc6f79c4 Fix more warnings I didn't catch in the first go-around
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 07:35:30 +00:00
ngie
afc8d7d9c8 Fix warnings, bump WARNS to 6, and use a temporary socket instead of one in /tmp
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 07:33:04 +00:00
ngie
91dbe60db8 - Remove the .t wrapper and put the "magic" of determining the number of
testcases into the .c file
- Require root for now because it fails with SOCK_RAW without root privileges
- Increment the test count properly on socket create failure

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 06:40:38 +00:00
ngie
79dd32579d Fix the knob twiddling to work properly per src.opts.mk
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 06:38:50 +00:00
rpaulo
692e8bf361 netmap: improve the netmap attach message on FreeBSD.
MFC after:	1 week
2015-04-11 06:20:46 +00:00
jkim
6e44aa28d5 Catch up with r281373 and r281379. 2015-04-11 05:38:07 +00:00
ngie
922534a7f9 Generate temporary files with mkstemp instead of mktemp
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 05:20:01 +00:00
ngie
1f60fa52d5 Garbage collect argc/argv and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:57:35 +00:00
ngie
e92d59d6f1 Garbage collect argc/argv and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:56:23 +00:00
ngie
7abb75d233 - Garbage collect argc/argv
- Use random paths instead of one in /tmp

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:54:43 +00:00
ngie
1d4bda01f8 - Garbage collect argc/argv; bump WARNS to 6
- Make the socket path random and move it out of /tmp as that's outside ATF's
  prescribed path

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:43:43 +00:00
ngie
1add384e4d Fix warnings and bump WARNS to 6
- Staticize variables as needed
- Garbage collect argc/argv
- Fix -Wsign-compare warnings by casting small sizeof to (int)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:38:49 +00:00
ngie
93d332ff6f Garbage collect argc/argv and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:35:33 +00:00
ngie
3de93701b1 Mark signum unused in signal_handler; bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:24:49 +00:00
jkim
94f110f313 Merge ACPICA 20150410. 2015-04-11 03:23:41 +00:00