Commit Graph

15455 Commits

Author SHA1 Message Date
allanjude
655ffd2e35 Fix a syntax error in bsdinstall/zfsboot
Differential Revision:	https://reviews.freebsd.org/D2571
Submitted by:	Michael Dexter
Approved by:	dteske
MFC after:	1 week
X-MFC-With:	r283023, r282443
Sponsored by:	ScaleEngine Inc.
2015-05-22 15:57:42 +00:00
trasz
38f5a1dde7 Advertise ctlstat(8) a little better.
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
2015-05-22 11:59:37 +00:00
tychon
ab4eab33be The 'hostbridge' device exists to allow guests to infer msi/msix
capablity by advertising pcie capability.

Since the 'hostbridge' device isn't a true pci-to-pci bridge, and
doesn't actaully use the bridge configuration space layout, change
the header-type from type 1 to type 0 to avoid confusion.

Reviewed by:	neel
2015-05-21 20:11:52 +00:00
neel
0e3d3564e5 Add an option "--get-vmcs-exit-inst-length" to display the instruction length
of the instruction that caused the VM-exit.

MFC after:	1 week
2015-05-21 18:29:11 +00:00
imp
918e07c5b9 Remove stray DEBUG_FLAGS=-g that snuck in with r137868 2015-05-21 14:36:15 +00:00
grehan
5432c8344b Temporarily revert r282922 which bumped the max descriptors.
While there is no issued with the number of descriptors in
a virtio indirect descriptor, it's a guest's choice as to
whether indirect descriptors are used. For the case where
they aren't, the virtio block ring size is still 64 which
is less than the now reported max_segs of 67. This results
in an assertion in recent Linux guests even though it was
benign since they were using indirect descs.

The intertwined relationship between virtio ring size,
max seg size and blockif queue size will be addressed
in an upcoming commit, at which point the max descriptors
will again be bumped up to 67.
2015-05-21 04:19:22 +00:00
trasz
ee2239f540 Remove the warning about invalid PE checksum; apparently nothing
cares about those checksums anyway.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2015-05-20 09:40:34 +00:00
jkim
fcf0fbf9ed Merge ACPICA 20150515. 2015-05-18 23:46:11 +00:00
allanjude
cd4b4b3d7a Fix off-by-one in array index bounds check
bhyveload would allow you to create 33 entries on an array that only has 32 slots

Differential Revision:	https://reviews.freebsd.org/D2569
Reviewed by:	araujo
Approved by:	neel
MFC after:	1 week
Sponsored by:	ScaleEngine Inc.
2015-05-18 19:45:46 +00:00
allanjude
edcc511873 bsdinstall/zfsboot: Skip adding swap lines to /etc/fstab if swap is 0 sized
Differential Revision:	https://reviews.freebsd.org/D2571
Reviewed by:	dim
Approved by:	eadler (mentor)
Sponsored by:	ScaleEngine Inc.
2015-05-17 00:55:44 +00:00
rmacklem
8df65c37f2 Add a warning message to mountd for exported file
systems that are automounted, since that configuration
isn't supported. This still allows the export, since
two emails I received felt that this should not be
disabled. It sends the message to syslog(LOG_ERR..), so that
it goes to the same places as the other messages related
to /etc/exports problems, even though it is a warning and not an error.

Reviewed by:	trasz
MFC after:	2 weeks
2015-05-16 12:05:26 +00:00
delphij
3bbc74ff2b path.h is not needed here. 2015-05-16 08:12:00 +00:00
grehan
288de166c4 Bump the size of the blockif scatter-gather list to 67.
The Windows virtio driver ignores the advertized seg_max
field and assumes the host can accept up to 67 segments
in indirect descriptors, triggering an assert in the bhyve
process.

No objection from:	mav
Reviewed by:	neel
Reported and tested by:	Leon Dang (ldang@nahannisys.com)
MFC after:	2 weeks
2015-05-14 21:08:48 +00:00
emaste
7b657b5b07 kbdmap(1): increase description size to 256 bytes
After conversion to UTF-8 some INDEX.keymaps descriptions are longer
than the previous limit of 64 bytes.

PR:		193656
Sponsored by:	The FreeBSD Foundation
2015-05-14 14:20:50 +00:00
stas
98b1ee5fe7 Fix pmcstat symbol resolution for userland processes.
When examining existing processes pmcstat fails to
correctly determine the locations of executable sections
of the process due to a miscalculated virtual load address.
This does not affect the newly launched processes as the
same value passed as a "start address" to the pmcstat_image_link()
thus nullifying the effect of it.  The issue manifests itself
in processes not being reported in the pmcstat(8) output and
"dubious frames" being reported.

Fix it for now by ignoring all the sections except the executable
one.  This won't fix the issue for objects with multiple
executable sections but helps in majority of real world usecases.
The real solution would be to modify the MAP-IN event to include
the appropriate load address so pmcstat(8) won't have to manually
parse object files to try to determine it.

PR:		198147, 198148
Reviewed by:	jhb, rpaulo
MFC after:	2 weeks
2015-05-13 18:52:18 +00:00
grehan
cecc5885ac Set the subvendor field in config space to the vendor ID.
This is required by the Windows virtio drivers to correctly
match a device.

Submitted by:	Leon Dang (ldang@nahannisys.com)
MFC after:	2 weeks
2015-05-13 17:38:07 +00:00
emaste
f7a28383ef crunchide: remove EOL whitespace 2015-05-12 20:04:17 +00:00
neel
0bccd59f0c Allow configuration of the sector size advertised to the guest.
The default behavior is to infer the logical and physical sector sizes from
the block device backend. However older versions of Windows only work with
specific logical/physical combinations:
- Vista and Windows 7:	512/512
- Windows 7 SP1:	512/512 or 512/4096

For this reason allow the sector size to be specified using the following
block device option: sectorsize=logical[/physical]

Reported by:	Leon Dang (ldang@nahannisys.com)
Reviewed by:	grehan
MFC after:	2 weeks
2015-05-12 00:30:39 +00:00
grehan
cbd45b5dc8 Handling indirect descriptors is a capability of the host and
not one that needs to be negotiated. Use the host capabilities
field and not the negotiated field when verifying that indirect
descriptors are supported.

Found with the Redhat Windows viostor driver, which clears
the indirect capability in the negotiated caps and then starts
using them.

Reported and tested by: Leon Dang (ldang@nahannisys.com)
MFC after:   2 weeks
2015-05-11 21:24:10 +00:00
bapt
0659e9b5d2 Remove extendline definition
Remove now unused PWBUFSZ define
2015-05-10 11:24:16 +00:00
bapt
6097f34be5 Use calloc(3) instead of malloc(3) + memset(3)
While here check the return of calloc(3)
2015-05-10 11:18:01 +00:00
bapt
7b3f5d741e The initial logic for allocating the new string was wrong, the conversion
to strndup(3) duplicated the same mistake, actually strdup(3) is good enough
to allocate the new string.
2015-05-10 10:15:36 +00:00
bapt
091698a77d Use strndup(3) instead of malloc(3) + memcpy(3)
Check the return of strndup
2015-05-10 10:02:09 +00:00
bapt
065d18b9ef Remove useless call to extendarray 2015-05-10 09:33:15 +00:00
bapt
ebdc3de2ac The pwdb function is only used once to check the database rename it
pwdb_check and simplify it accordingly
2015-05-10 09:23:03 +00:00
bapt
15b9b89c4b if the check of the pw db fails return the failed value 2015-05-10 09:11:12 +00:00
bapt
cac4a2a5a5 Some style(9) fixes 2015-05-10 09:02:15 +00:00
bapt
8b6866b1a0 Replace sprintf(3) with snprintf(3) 2015-05-09 22:48:48 +00:00
bapt
0d7a61d5ba Use snprintf(3) instead of sprintf(3)
Remove useless "else"
2015-05-09 22:43:44 +00:00
bapt
ee9e5523ab Remove now unused LNBUFSZ buffer size 2015-05-09 22:08:30 +00:00
bapt
6fcebe0418 Return from the function as early as possible
This reduces the depth of the if statements and improves clarity of the code
2015-05-09 21:53:33 +00:00
bapt
f8a287817e Remove some uneeded headers 2015-05-09 19:29:55 +00:00
bapt
defd9f5516 Remove unneeded headers 2015-05-09 19:22:33 +00:00
bapt
f0a46849ff Replace malloc(3) + strcpy(3) + strcat(3) by asprintf(3) 2015-05-09 19:12:16 +00:00
bapt
332806b946 Use snprintf(3) instead of strcpy(3) + strncat(3) 2015-05-09 19:09:34 +00:00
bapt
33ff7a2e5e Use sbuf(9) instead of homebrewed buffered string 2015-05-09 19:00:16 +00:00
stas
42ca9843bb Fix the double space in comment.
While here, change the comment style to match the rest of the file.
2015-05-09 00:48:44 +00:00
jhb
57645743ad Use the kern.bootfile sysctl to set the default kernel path rather than
hardcoding /boot/kernel. This allows pmcstat(8) to work without -k when
using nextboot -k or 'boot foo' at the loader to boot alternate kernels.

Differential Revision:	https://reviews.freebsd.org/D2425
Reviewed by:	adrian, emaste, gnn
MFC after:	2 weeks
Sponsored by:	Norse Corp, Inc.
2015-05-08 16:02:31 +00:00
neel
7fdf1e8707 Allow byte reads of AHCI registers.
This is needed to support Windows guests that use byte reads to access certain
AHCI registers (e.g. PxTFD.Status and PxTFD.Error).

Reviewed by:	grehan, mav
Reported by:	Leon Dang (ldang@nahannisys.com)
Differential Revision:	https://reviews.freebsd.org/D2469
MFC after:	2 weeks
2015-05-07 18:35:15 +00:00
mav
eb1da25535 Add memory barrier to r281764.
While race at this point may cause only a single packet delay and so was
not really reproduced, it is better to not have it at all.

MFC after:	1 week
2015-05-06 18:04:31 +00:00
neel
7776059e98 Deprecate the 3-way return values from vm_gla2gpa() and vm_copy_setup().
Prior to this change both functions returned 0 for success, -1 for failure
and +1 to indicate that an exception was injected into the guest.

The numerical value of ERESTART also happens to be -1 so when these functions
returned -1 it had to be translated to a positive errno value to prevent the
VM_RUN ioctl from being inadvertently restarted. This made it easy to introduce
bugs when writing emulation code.

Fix this by adding an 'int *guest_fault' parameter and setting it to '1' if
an exception was delivered to the guest. The return value is 0 or EFAULT so
no additional translation is needed.

Reviewed by:	tychon
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D2428
2015-05-06 16:25:20 +00:00
mav
6b7074e362 Reimplement queue freeze on error, added in r282429:
It is not required to use CLO to recover from task file error, it should
be enough to do only stop/start, that does not clear the PxTFD.STS.ERR.

MFC after:	13 days
2015-05-06 09:59:19 +00:00
allanjude
9f65bd9565 Add a sanity check to the swap size in zfsboot of bsdinstall
Loop until the user enters a valid size (>100mb or 0)

Differential Revision:	https://reviews.freebsd.org/D2299
Reported By:	Shawn Webb
Reviewed by:	roberto
Approved by:	brd
MFC after:	2 weeks
Sponsored by:	ScaleEngine Inc.
2015-05-05 03:08:49 +00:00
mav
8e9264e9c5 Implement in-order execution of non-NCQ commands.
Using status updates in r282364, block queue on BSY, DRQ or ERR bits set.
This can be a performance penalization for non-NCQ commands, but it is
required for proper error recovery and standard compliance.

MFC after:	2 weeks
2015-05-04 19:55:01 +00:00
cy
6c91165dc2 Restore CPU dependent compile time conditionals.
MFC after:	1 month (with r281143 and r282408)
2015-05-04 12:42:52 +00:00
cy
1818eba70c MFV ntp 4.2.8p2 (r281348)
Reviewed by:    delphij (suggested MFC)
Approved by:	roberto
Security:       CVE-2015-1798, CVE-2015-1799
Security:       VuXML ebd84c96-dd7e-11e4-854e-3c970e169bc2
MFC after:	1 month
2015-05-04 04:45:59 +00:00
mav
4cd4238e92 Implement basic PxTFD.STS.BSY reporting.
MFC after:	2 weeks
2015-05-03 07:43:58 +00:00
glebius
1ca5d173ab Remove #ifdef IFT_FOO.
Submitted by:	Guy Yur <guyyur gmail.com>
2015-05-02 20:31:27 +00:00
oshogbo
cf66982b37 Approved, oprócz użycie RESTORE_ERRNO() do ustawiania errno.
Change the nvlist_recv() function to take additional argument that
specifies flags expected on the received nvlist. Receiving a nvlist with
different set of flags than the ones we expect might lead to undefined
behaviour, which might be potentially dangerous.

Update consumers of this and related functions and update the tests.

Approved by:	pjd (mentor)

Update man page for nvlist_unpack, nvlist_recv, nvlist_xfer, cap_recv_nvlist
and cap_xfer_nvlist.

Reviewed by:	AllanJude
Approved by:	pjd (mentor)
2015-05-02 17:45:52 +00:00
mav
843dbc5981 Initialize PxCMD on reset and make its read-only bits such.
MFC after:	2 weeks
2015-05-02 16:11:29 +00:00