#
e497fe86 |
|
02-Apr-2024 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Use vm_get_highmem_base() instead of hard-coding the value This reduces the coupling between libvmmapi (which creates the highmem segment) and bhyve, in preparation for the arm64 port. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D40992
|
#
4d65a7c6 |
|
24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
usr.sbin: Automated cleanup of cdefs and other formatting Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
|
#
1d386b48 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
bd634fc7 |
|
18-Nov-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Address an unused parameter warning in the smbios code The compiler was warning that the "size" parameter to smbios_generic_initializer() was unused. This parameter is apparently used to populate the "maximum structure size" field in the SMBIOS entry point, but we were always setting it to zero. Implement it instead in the main loop of the smbios table builder. MFC after: 2 weeks Reviewed by: corvink, jhb Differential Revision: https://reviews.freebsd.org/D37294
|
#
3b6cb9b4 |
|
08-Sep-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Avoid shadowing global variables in bhyverun.c - Rename the global cores/sockets/threads to cpu_cores/sockets/threads. This way, num_vcpus_allowed() doesn't shadow them. - The global maxcpus is unused, remove it for the same reason. MFC after: 1 week
|
#
889cec66 |
|
08-Sep-2022 |
Mark Johnston <markj@FreeBSD.org> |
bhyve: Make smbios tables local to smbiostbl.c Also flag them as const. MFC after: 2 weeks
|
#
e16b709e |
|
16-Jun-2022 |
James Mintram <me@jamesrm.com> |
bhyve: Report an error for invalid UUIDs. Reviewed by: rgrimes, grehan, jhb Differential Revision: https://reviews.freebsd.org/D30050
|
#
8284799a |
|
30-May-2022 |
Corvin Köhne <CorvinK@beckhoff.com> |
bhyve: use bhyve_config for SMBIOS strings Some software uses SMBIOS entries to identify the system on which it's running. In order to make it possible to use such software inside a VM, SMBIOS entries should be configurable. Therefore, bhyve_config can be used. While only a few SMBIOS entries might be of interest, it makes sense that all SMBIOS entries are configurable. This way all SMBIOS tables are build the same way and there's no special handling for some tables. Reviewed by: jhb Sponsored by: Beckhoff Automation GmbH & Co. KG MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D34465
|
#
04f55b5b |
|
26-Dec-2021 |
Toomas Soome <tsoome@FreeBSD.org> |
bhyve smbios type 3 structure is incorrect If you look at the SMBIOS specification, we'll find something is missing. In particular at offset 0Dh is supposed to be the OEM-defined field. This should go between security and height. It is not legal to actually skip this and will lead to other folks not properly interpreting later parts of the table. https://www.illumos.org/issues/14312 Reviewed by: jhb Submitted by: Robert Mustacchi <rm@fingolfin.org> Obtained from: ilumos MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D33682
|
#
35175e10 |
|
20-Oct-2021 |
Rebecca Cran <bcran@FreeBSD.org> |
bhyve: Bump the SMBIOS firmware version to 14.0 for 14-CURRENT Bump the firmware version to 14.0 and set the firmware release date to today. Reviewed by: jhb, bz, imp Differential Revision: https://reviews.freebsd.org/D32534
|
#
0c6282e8 |
|
12-Apr-2021 |
Chuck Tuffli <chuck@FreeBSD.org> |
bhyve: add SMBIOS Baseboard Information Add the System Management BIOS Baseboard (or Module) Information a.k.a. Type 2 structure to the SMBIOS emulation. Reviewed by: rgrimes, bcran, grehan MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29657
|
#
621b5090 |
|
26-Jun-2019 |
John Baldwin <jhb@FreeBSD.org> |
Refactor configuration management in bhyve. Replace the existing ad-hoc configuration via various global variables with a small database of key-value pairs. The database supports heirarchical keys using a MIB-like syntax to name the path to a given key. Values are always stored as strings. The API used to manage configuation values does include wrappers to handling boolean values. Other values use non-string types require parsing by consumers. The configuration values are stored in a tree using nvlists. Leaf nodes hold string values. Configuration values are permitted to reference other configuration values using '%(name)'. This permits constructing template configurations. All existing command line arguments now set configuration values. For devices, the "-s" option parses its option argument to generate a list of key-value pairs for the given device. A new '-o' command line option permits setting an individual configuration variable. The key name is always given as a full path of dot-separated components. A new '-k' command line option parses a simple configuration file. This configuration file holds a flat list of 'key=value' lines where the 'key' is the full path of a configuration variable. Lines starting with a '#' are comments. In general, bhyve starts by parsing command line options in sequence and applying those settings to configuration values. Once this is complete, bhyve then begins initializing its state based on the configuration values. This means that subsequent configuration options or files may override or supplement previously given settings. A special 'config.dump' configuration value can be set to true to help debug configuration issues. When this value is set, bhyve will print out the configuration variables as a flat list of 'key=value' lines. Most command line argments map to a single configuration variable, e.g. '-w' sets the 'x86.strictmsr' value to false. A few command line arguments have less obvious effects: - Multiple '-p' options append their values (as a comma-seperated list) to "vcpu.N.cpuset" values (where N is a decimal vcpu number). - For '-s' options, a pci.<bus>.<slot>.<function> node is created. The first argument to '-s' (the device type) is used as the value of a "device" variable. Additional comma-separated arguments are then parsed into 'key=value' pairs and used to set additional variables under the device node. A PCI device emulation driver can provide its own hook to override the parsing of the additonal '-s' arguments after the device type. After the configuration phase as completed, the init_pci hook then walks the "pci.<bus>.<slot>.<func>" nodes. It uses the "device" value to find the device model to use. The device model's init routine is passed a reference to its nvlist node in the configuration tree which it can query for specific variables. The result is that a lot of the string parsing is removed from the device models and centralized. In addition, adding a new variable just requires teaching the model to look for the new variable. - For '-l' options, a similar model is used where the string is parsed into values that are later read during initialization. One key note here is that the serial ports use the commonly used lowercase names from existing documentation and examples (e.g. "lpc.com1") instead of the uppercase names previously used internally in bhyve. Reviewed by: grehan MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D26035
|
#
866db2fe |
|
27-Nov-2020 |
Rebecca Cran <bcran@FreeBSD.org> |
Fix bhyve SMBIOS type 19 handling to avoid misreporting total RAM amount This fixes the amount of memory displayed in the EDK2 UiApp to be the same as passed on the bhyve command line. Otherwise, 8GB is displayed as 4GB, 32GB as 28GB etc. Reviewed by: jhb, kib, rgrimes Differential Revision: https://reviews.freebsd.org/D27348
|
#
5285d5e8 |
|
27-Nov-2020 |
Rebecca Cran <bcran@FreeBSD.org> |
bhyve: fix smbiostbl.c style issues and add comment about date format Fix a couple of style issues introduced in my previous commit. Add a comment explaining that the SMBIOS specification defines the date format to be mm/dd/yyyy, which is why we don't use ISO 8601.
|
#
a2fe464c |
|
13-Nov-2020 |
Rebecca Cran <bcran@FreeBSD.org> |
bhyve: update smbiostbl.c to bump the version and release date Since lots of work has been done on bhyve since 2014, increase the version to 13.0 to match 13-CURRENT, and update the release date. Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D27147
|
#
c4fd0cc9 |
|
08-Nov-2020 |
Olivier Cochard <olivier@FreeBSD.org> |
Return the same value for smbios.chassis.maker as smbios.system.maker (and prevents returning a space character). Reviewed by: grehan Approved by: grehan Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27123
|
#
ac8f506b |
|
29-Oct-2020 |
Olivier Cochard <olivier@FreeBSD.org> |
bhyve currently reports each of "smbios.system.maker" and "smbios.system.family" as " ". This presents challenges for both humans and tools when trying to parse output that uses those results. The new values reported are now: smbios.system.family="Virtual Machine" smbios.system.maker="FreeBSD" PR: 250728 Approved by: grehan@FreeBSD.org Sponsored by: Netflix
|
#
9d3fd866 |
|
07-Apr-2020 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
In the past changes have been made to smbios->minor without updating the smbios->bcdrev value. Correct that by calculating bcdrev from the major/minor values. Reported by: bcran Reviewed by: bcran, jhb Approved by: jhb (maintainer)
|
#
e23fe873 |
|
30-Mar-2020 |
Rebecca Cran <bcran@FreeBSD.org> |
Bhyve: fix SMBIOS Type 17 table generation According to the SMBIOS specification (revision 2.7 or newer), the extended module size field should only be used for sizes that can't fit in the older size field. Reviewed by: rgrimes, grehan, jhb Differential Revision: https://reviews.freebsd.org/D24107
|
#
332eff95 |
|
08-Jan-2020 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
bhyve: add wrapper for debug printf statements Add printf() wrapper to use CR/CRLF terminators depending on whether stdio is mapped to a tty open in raw mode. Try to use the wrapper everywhere. For now we leave the custom DPRINTF/WPRINTF defined by device models, but we may remove them in the future. Reviewed by: grehan, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22657
|
#
3facfc75 |
|
25-Apr-2019 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Make bhyve SMBIOS table topology aware When the CPU Topology was added to bhyve in r332298 the SMBIOS table was missed, this table passes topology information to the system and was still using the old concept of each vCPU is a socket with 1 core and 1 thread. This code did not even try to use the old sysctl information to adjust this data. Correct that by building a proper SMBios table, mapping the > 254 cases to 0 per the SMBios 2.6 specification that is claimed by the structure. Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Approved by: bde and/or phk (mentor), jhb (maintainer) MFC: 3 days Differential Revision: https://reviews.freebsd.org/D18998
|
#
4edc7f41 |
|
31-Jan-2019 |
Marcelo Araujo <araujo@FreeBSD.org> |
Revert r343634: Mostly a cosmetic change to replace strlen with strnlen. Requested by: kib and imp
|
#
7722142b |
|
31-Jan-2019 |
Marcelo Araujo <araujo@FreeBSD.org> |
Mostly a cosmetic change to replace strlen with strnlen. Obtained from: Project ACRN MFC after: 2 weeks
|
#
1de7b4b8 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
various: general adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended.
|
#
5ed6ab5b |
|
22-Sep-2014 |
Peter Grehan <grehan@FreeBSD.org> |
Correct display of bhyve SMBIOS UUIDs with dmidecode by bumping the version. The mixed little/big-endianness of SMBIOS UUIDs was clarified in v2.6 of the SMBIOS spec. dmidecode uses the reported version of SMBIOS to determine the layout and what to byte-swap. bhyve's SMBIOS reported as 2.4 though it implemented the 2.6-style of memory layout. This resulted in dmidecode reporting a different UUID than one passed in via the -U option. Fix by exporting a version of 2.6. Reviewed by: tychon Reported by: julian MFC after: 1 day
|
#
62f17e92 |
|
26-Jun-2014 |
Peter Grehan <grehan@FreeBSD.org> |
Set the version and date to fixed fields rather than using preprocessor macros that don't allow reproducible builds. As a side-effect, the date string is now spec-compliant. root@bhyve:~ # dmidecode # dmidecode 2.12 SMBIOS 2.4 present. 12 structures occupying 514 bytes. Table at 0x000F101F. Handle 0x0001, DMI type 0, 24 bytes BIOS Information Vendor: BHYVE Version: 1.0 Release Date: 03/14/2014 Submitted by: des (original version) Reviewed by: tychon MFC after: 1 week
|
#
be679db4 |
|
23-Jun-2014 |
Neel Natu <neel@FreeBSD.org> |
Provide APIs to directly get 'lowmem' and 'highmem' size directly. Previously the sizes were inferred indirectly based on the size of the mappings at 0 and 4GB respectively. This works fine as long as size of the allocation is identical to the size of the mapping in the guest's address space. However, if the mapping is disjoint then this assumption falls apart (e.g., due to the legacy BIOS hole between 640KB and 1MB).
|
#
af5bfc53 |
|
04-Mar-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Add SMBIOS support. A new option, -U, can be used to set the UUID in the System Information (Type 1) structure. Manpage fix to follow. Approved by: grehan (co-mentor)
|