Commit Graph
100 Commits
Author SHA1 Message Date
Doug Goldstein 1e1da6ec3a xen: append EXTRA_CFLAGS_XEN_CORE to CFLAGS
Allow a user to supply extra CFLAGS via the EXTRA_CFLAGS_XEN_CORE
environment variable for hypervisor builds. This is not a
configuration that is supported but is only aimed to help support
testing and troubleshooting when you need to make changes.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
2018-02-23 11:05:35 +01:00
Doug Goldstein 657b85d956 docs: note default for timer_mode in xl.cfg man
There was no default documented but inspecting
libxl__domain_build_info_setdefault() shows the default to be
LIBXL_TIMER_MODE_NO_DELAY_FOR_MISSED_TICKS.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
2018-01-18 10:52:06 +00:00
Doug Goldstein 9f592d1030 gdbsx: prefer privcmd character device
Prefer using the character device over the proc file if the character
device exists.

CC: Elena Ufimtseva <elena.ufimtseva@oracle.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Release-acked-by: Julien Grall <julien.grall@linaro.org>
2017-11-02 16:42:40 +00:00
Doug Goldstein 850fd17ed2 x86/mtrr: convert use_intel_if u32 to bool
This field is always only 1 currently but may allow 0 in the future so
convert it to a bool to provide proper range checking by the compiler.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2017-01-19 10:36:14 +01:00
Doug Goldstein a80f58f2e4 x86/mtrr: drop unused func prototypes and struct
These weren't used so drop them.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2017-01-19 10:35:45 +01:00
Doug Goldstein a7de843128 x86/mtrr: drop positive_have_wrcomb()
The only call to have_wrcomb() was always to the generic implementation.
positive_have_wrcomb() was unused.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2017-01-19 10:35:14 +01:00
Doug Goldstein c1450c53d9 x86/mtrr: use stdbool instead of int + define
Instead of using an int and providing a define for TRUE and FALSE,
change the code to use stdbool that Xen provides.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
[Minor style tweaks]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
2017-01-05 17:11:43 +00:00
Doug Goldstein b712a7bf28 travis: drop broken LLVM repos
LLVM repos are currently down so drop them from being installed so we
can get some testing back.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
2016-06-08 16:20:42 +01:00
Doug Goldstein 9fd5902db0 build: convert lock_profile to Kconfig
Convert the 'lock_profile' option to Kconfig as CONFIG_LOCK_PROFILE.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Julien Grall <julien.grall@arm.com>
2016-06-08 14:11:50 +02:00
Doug Goldstein 635c5ec3f0 build: convert perfc{,_arrays} to Kconfig
Convert the 'perfc' and 'perfc_arrays' options to Kconfig as
CONFIG_PERF_COUNTERS and CONFIG_PERF_ARRAYS.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
2016-06-08 14:11:21 +02:00
Doug Goldstein 289c53a493 build: convert frame_pointer to Kconfig
Converts the frame_pointer option to a Kconfig option.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
2016-06-08 14:10:35 +02:00
Doug Goldstein 212d27297a build: convert verbose to Kconfig
Convert 'verbose', which was enabled by 'debug=y' to Kconfig as
CONFIG_VERBOSE_DEBUG which is enabled by default when CONFIG_DEBUG is
enabled.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Julien Grall <julien.grall@arm.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-06-08 14:09:55 +02:00
Doug Goldstein c9e5a6a232 build: convert crash_debug to Kconfig
Convert the crash_debug option to Kconfig as CONFIG_CRASH_DEBUG. This
was previously togglable on the command line so this adds a message for
users enabling it from the command line to tell them to enable it from
make menuconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
2016-06-08 14:09:16 +02:00
Doug Goldstein bacbf0cb73 build: convert debug to Kconfig
Enabling debug will disable NDEBUG which will result in more debug
prints.  There are a number of debugging options for Xen so place the
debug option under a menu for different debugging options to have a way
to group them all together.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-06-08 14:04:30 +02:00
Doug Goldstein cd2cd109e7 xendriverdomain: use POSIX sh and not bash
The script doesn't use any bash-isms and works fine with BusyBox's ash.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-05-12 17:37:27 +01:00
Doug Goldstein b2fc97e2d2 init: shebang should be the first line
The shebang was not on the first line in the init script and it should
be.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-05-06 12:00:32 +01:00
Doug Goldstein 4ca9d5dbf0 init: drop GNU-isms for sleep command
Most implementations of the sleep command only take integers. GNU
coreutils has a GNU extension to allow any floating point number to be
passed but we shouldn't depend on that.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-05-06 12:00:22 +01:00
Doug Goldstein 4d98d3ebfc blktap2: use abort() instead of custom crash
Instead of trying to write a snippet of code that crashes the process
just use abort() directly. This is to fix the build on clang which
detects that the snippet of code will crash and fails to compile. At
the same time removed extraneous whitespace in the macro.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-04-26 15:23:16 +01:00
Doug Goldstein f7cd9d2c6b travis: enable building of the tools
For native (non-cross compiles) we now only require bcc, ld86, as86 for
building rombios, we can build the toolstack sans rombios and using the
system SeaBIOS due to known build issues. At the same time capture the
output of the configure scripts to help with tracking down future build
issues. This does not enable building of the toolstack with clang for
now due to multiple failures.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Andrew Cooper<andrew.cooper3@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-04-26 15:23:16 +01:00
Doug Goldstein d4cd5a2059 docs: update FLASK cmd line instructions
The command line instructions for FLASK include a note on how to compile
Xen with FLASK but the note was out of date after the change to Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-04-25 17:15:48 +01:00
Doug Goldstein 695ed1bcd0 libfsimage: fix bad header guard
The #ifndef / #define value used was not consistent so it did not
function as a proper header guard.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
2016-04-25 17:12:40 +01:00
Doug Goldstein a67e68c631 xsm: move FLASK_AVC_STATS to Kconfig
Have Kconfig set CONFIG_FLASK_AVC_STATS and prefix all uses with CONFIG_
to use the Kconfig variable.

Note that will preserve the original behavior - which is that you
cannot disable FLASK_AVC_STATS. Enterprising users can disable
it without any compilation issues.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-03-25 11:37:31 -04:00
Doug Goldstein 0640eaf552 xsm: only define XSM_MAGIC in xsm.h
Rather than have XSM_MAGIC set in the global xen/config.h and set in
xsm.h if it's unset, just set it once in xsm.h since its only used in
files that already include xsm.h

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-03-25 11:29:44 -04:00
Doug Goldstein 5996f3c8da xenconsole: update help message
The help message did not include information about the --type parameter.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
2016-03-22 16:56:51 -04:00
Doug Goldstein 6ea2dc59a7 tmem: allow tmem to be disabled with Kconfig
Wrap the various tmem functions with the Kconfig generated CONFIG_TMEM
option allowing users to build Xen without tmem support.

Note that you have to use XEN_CONFIG_EXPERT to see this option.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-16 10:55:37 -04:00
Doug Goldstein 6cddfb4ef6 tmem: drop direct usage of opt_tmem
Most callers of tmem_freeable_pages() checked to see if by checking
opt_tmem before calling tmem_freeable_pages() but not all of them did. This
seemed like an oversight and to avoid similar situations like that,
stick the check of tmem into tmem_freeable_pages(). Similarly other
places should not directly check opt_tmem but instead use the
tmem_enabled() helper function.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-16 10:54:15 -04:00
Doug Goldstein dba8bfb94d tmem: add tmem_disable() function
Instead of manipulating the opt_tmem variable directly utilize a wrapper
function.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-16 10:54:05 -04:00
Doug Goldstein e46a729b18 libxl: ensure var is inited in libxl__domain_firmware
Some versions of GCC complain that the 'firmware' variable can be used
uninitialized. It looks like the switch inside of the else case is just
confusing GCC.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
2016-03-10 18:44:24 +00:00
Doug Goldstein 54ef3ed144 travis: actually disable debug for non-debug
Non-debug builds need to explicitly disable debug due to debug being
defaulted to y in Config.mk

(Xen keeps debug=y in the staging branch. When Xen is in rc-X stage
the debug is altered so that the builds don't have the debug
option enabled by default).

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-07 10:33:12 -05:00
Doug Goldstein 9bcc3998bd travis: use matching C++ for GCC version
When we use GCC 5.x, we need to install the C++ compiler and the C
compiler together because QEMU tests for feature flags against the C
compiler and assumes the C++ compiler has them. We also have to
ensure that GCC C++ is used. Have to do the modification of the CXX variable
in two steps to ensure we support older versions of bash in use by the
test machines. While we're at it simply how we select our compiler.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-07 10:30:05 -05:00
Doug Goldstein 4442d436e0 travis: skip building coverity, smoke, and master
Skip building of the coverity, smoke, stable, and master branches since
they just fast forward from staging.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-07 10:29:54 -05:00
Doug Goldstein 3f19ca9ad0 travis: add IRC notifications
This will cause failed builds and when the build flips back to success
to be reported to #xentest on FreeNode. The syntax of the message will
be:
<travis-ci>	xen-project/xen#BUILDID (BRANCH - REVISION : COMMITTER)
<travis-ci>	Change view :
https://github.com/xen-project/xen/compare/RANGE
<travis-ci>	Build details :
https://travis-ci.org/xen-project/xen/builds/BUILDID

The blob was generated with the following command:
travis encrypt -r xen-project/xen 'chat.freenode.net#xentest'

The reason it is encrypted is to prevent people that fork the repo to
spam #xentest. This value will only properly decrypt when running within
the xen-project/xen space.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2016-03-01 18:12:08 +00:00
Doug Goldstein 3b54cd773d m4/python: fix checks for Python library support
AC_CHECK_LIB() was running gcc -Llib -lm -lutils conftest.c which on
platforms that do as needed operations by default will result in
underlinking. Instead AC_CHECK_LIB() suggests supplying the extra
libraries necessary in a 5th argument.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2016-03-01 18:05:19 +00:00
Doug Goldstein e56dd1bf09 tools/configure: only require bcc/ld86/as86 when needed
bcc/ld86/as86 are necessary when we build ROMBIOS. However if we do not
build it (and are not building qemu-trad), the build requirements are
overly strict and can lead to failures.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2016-03-01 17:48:51 +00:00
Doug Goldstein 373d074aa5 remove unused EXPORT_SYMBOL_GPL
EXPORT_SYMBOL_GPL is unused in the source tree so just remove it. If
something gets imported that needs it, it can be added back then.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-03-01 14:43:12 +01:00
Doug Goldstein b07408ec75 build: consolidate CONFIG_HAS_VIDEO and CONFIG_VIDEO
No real advantage to keeping these separate. The use case of this from
Linux is when the platform or target board has support for something but
the user wants to be given the option to disable it.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-29 16:09:09 +01:00
Doug Goldstein ff2f342d0a build: consolidate CONFIG_HAS_VGA and CONFIG_VGA
No real advantage to keeping these separate. The use case of this from
Linux is when the platform or target board has support for something but
the user wants to be given the option to disable it.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-29 16:08:43 +01:00
Doug Goldstein 3dd926a25d Config.mk: Update SEABIOS_UPSTREAM_TAG to rel-1.9.1
Switch from tracking a commit post 1.9.0 to the 1.9.1 release.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
2016-02-26 14:01:33 -05:00
Doug Goldstein 763076cf5d build: convert HAS_CORE_PARKING to Kconfig
Convert HAS_CORE_PARKING to Kconfig as CONFIG_CORE_PARKING. While
removing HAS_CORE_PARKING, removed a trailing whitespace on a near by
line.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2016-02-26 12:35:46 +01:00
Doug Goldstein 1afea8d3a9 build: convert HAS_NUMA to Kconfig
Convert HAS_NUMA to Kconfig as CONFIG_NUMA and let CONFIG_NUMA be
defined by Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2016-02-26 12:33:14 +01:00
Doug Goldstein fb1e853c53 build: consolidate CONFIG_HAS_ACPI and CONFIG_ACPI
No real advantage to keeping these separate. The use case of this from
Linux is when the platform or target board has support for something but
the user wants to be given the option to disable it.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2016-02-26 12:31:47 +01:00
Doug Goldstein abf8824fe5 x86: CONFIG_COMPAT is defined by Kconfig
Remove duplicate definition.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
2016-02-25 13:08:12 +01:00
Doug Goldstein 7a9dc0771a xenoprof: drop unnecessary macro
This macro doesn't really provide a benefit. When support is added the
implementer can implement this how it needs to be and not conform to the
macro. Additionally this change limits the output of the warning to just
once instead of nrpages worth. While editing this area I dropped
trailing whitespace.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-24 12:06:28 +01:00
Doug Goldstein 18e00970a4 arm: CONFIG_ARM_{32, 64} defined by Kconfig
CONFIG_ARM_32 and CONFIG_ARM_64 is defined by Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2016-02-22 17:21:58 +01:00
Doug Goldstein da97d1cf91 x86: CONFIG_X86 defined by Kconfig
CONFIG_X86 is defined by Kconfig when building for x86.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
2016-02-22 17:21:03 +01:00
Doug Goldstein a9d0e9aff2 m4/python: fix typo in LDFLAGS variable name
[ also, reran autogen.sh ]

Reported-by: Jonathan Creekmore <jonathan.creekmore@gmail.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2016-02-22 16:13:56 +00:00
Doug Goldstein a624cf437b MAINTAINERS: add Doug Goldstein for Travis CI config
Add myself as the maintainer for the Travis CI config.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2016-02-22 11:55:33 +00:00
Doug Goldstein 13b5375fec build: convert xenoprof to Kconfig
Convert the xenoprof x86 build time option to Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-19 11:23:02 -05:00
Doug Goldstein 4bb047c9dd xenoprof: fix up ability to disable it
Allow Xenoprof to be fully disabled when toggling the option off.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-02-19 11:22:18 -05:00
Doug Goldstein 810ad0fbd8 travis: add randconfig test target
Add another build target which uses randconfig to randomize the config
file so that we build test more than the default config.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-02-18 17:47:15 +01:00
Doug Goldstein 8ab7faf0b4 add randconfig target to Makefile
This allows us to generate a random config which can be used for build
testing random configurations.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-18 17:46:40 +01:00
Doug Goldstein 5e486852ee x86/PMU: make {acquire,release}_pmu_ownership names consistent
The function names were inconsistent with acquire and release being
called acquire_pmu_ownership() and release_pmu_ownship() respectively.
Function prototypes were available for both spellings so this change
makes them consistent and drops the dual function prototypes.
Additionally change the internal variable names within those functions
to ownership as well.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
2016-02-17 16:24:29 +01:00
Doug Goldstein 5d8ac238c5 travis: add initial Travis CI script to do builds
This is just suppose to do a simple compile test on Travis CI. Currently
due to linux86 (bcc/bin86/dev86) not being whitelisted the tools cannot
be built.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
2016-02-12 17:11:01 +00:00
Doug Goldstein 15ee647c86 build: specify minimum versions of make
To help people avoid having to figure out what versions of make
needs to be supported document it explicitly.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-11 15:10:58 +00:00
Doug Goldstein cc015d56c3 build: specify minimum versions of gcc and binutils
To help people avoid having to figure out what versions of gcc and
binutils need to be supported document them explicitly.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2016-02-11 15:10:41 +00:00
Doug Goldstein a9da09b864 arm: clean up build variables
This consolidates some of the different variables used for the ARM
builds. This change was prompted by the Kconfig changes but looking back
in time the CONFIG_ARM_{32,64} variables existed before Kconfig so this
should just be a generic cleanup.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ ijc -- switch from ifdef X to ifeq (X,y) in one place as discussed ]
2016-01-29 14:25:41 +00:00
Doug Goldstein 0c2f128348 INSTALL: fix typo
There's a case of a missing T in the word 'the'.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2016-01-19 09:27:16 +00:00
Doug Goldstein 9fe43a2664 MAINTAINERS: add myself for kconfig
Added myself as the maintainer of kconfig.

CC: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Keir Fraser <keir@xen.org>
CC: Tim Deegan <tim@xen.org>

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2016-01-18 17:04:16 +00:00
Doug Goldstein a942a6f4ca tools: make FLASK utils build unconditional
The flask utilities only have dependencies on libxc so there's no
downside to always building it. Distros and projects based on Xen can
put these in a different package to not install them for all users.
Prior to this change FLASK_ENABLE needed to be set at the top level to
build the utilities and the tools/configure script would build the FLASK
policy by default, but only if the utilities were built.

This change makes item 3 from
http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg01796.html
a happen by default.

CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2016-01-18 11:46:50 +00:00
Doug Goldstein af3eb9bf2f build: convert NR_CPUS to Kconfig
Use CONFIG_NR_CPUS from Kconfig as NR_CPUS instead of the previous
MAX_PHYS_CPUS variable from make. Remove the creation of MAX_PHYS_CPUS
as well.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-01-14 10:36:40 +01:00
Doug Goldstein 6da11a5ac2 build: introduce CONFIG_NR_CPUS in Kconfig
Introduce an option where the user can modifiy the maximum number of
supported physical CPUs.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-01-14 10:35:04 +01:00
Doug Goldstein 20c8f1a8a5 convert XSM_ENABLE to Kconfig
Converts the existing XSM_ENABLE flag from Config.mk to CONFIG_XSM
within Kconfig. This also re-adds the dependency of CONFIG_FLASK on
CONFIG_XSM.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-01-12 11:39:47 +01:00
Doug Goldstein 529298fdf9 convert FLASK_ENABLE to Kconfig
Converts the Config.mk option of FLASK_ENABLE into a Kconfig option for
the hypervisor called CONFIG_FLASK. This commit knowingly breaks the
dependent relationship on XSM_ENABLE which is addressed when XSM_ENABLE
is converted to Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-01-12 11:38:17 +01:00
Doug Goldstein 361b4f9f0f build: save generated xen .config
Since we now support changing Xen options with Kconfig, we should save
the configuration that was used to build up Xen. This will save it in
/usr/lib/debug alongside xen-syms and call it xen-$(FULLVERSION).config

Suggested-by: Ian Campbell <ian.campbell@citrix.com>
Requested-by: Jan Beulich <jbeulich@suse.com> # the directory
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-01-12 11:33:55 +01:00
Doug Goldstein 165f36d5fa x86: convert bigmem to Kconfig
Convert the bigmem build option to Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-01-12 11:27:49 +01:00
Doug Goldstein 9754544a55 fix missing XSM_ENABLE change
This is broken from "xen: convert XSM_ENABLE to Kconfig"
6d5293032f5fc1c65f7a73548afaa3caa8e0105a. This hunk was dropped when I
made my v2 for some reason.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-01-08 10:46:47 +01:00
Doug Goldstein 373c3cf6dd remove dups in x86 and x86_64 variables
Currently the Xen build uses x86 and x86_64 variables as well as
CONFIG_X86 and CONFIG_X86_64. This just removes the duplication. The
CONFIG_ variables are now managed by Kconfig but existed previously so
this duplication existed prior to the Kconfig migration.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Feng Wu <feng.wu@intel.com>

$(CONFIG_X86_64) -> y in x86 makefiles.
$(CONFIG_X86_64) -> $(CONFIG_X86) in non-x86 makefiles.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
2016-01-07 15:27:43 +01:00
Doug Goldstein 2b2ab5d88b convert XSM_ENABLE to Kconfig
Converts the existing XSM_ENABLE flag from Config.mk to CONFIG_XSM
within Kconfig. This also re-adds the dependency of CONFIG_FLASK on
CONFIG_XSM.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-01-07 15:25:58 +01:00
Doug Goldstein b36bf23027 convert FLASK_ENABLE to Kconfig
Converts the Config.mk option of FLASK_ENABLE into a Kconfig option for
the hypervisor called CONFIG_FLASK. This commit knowingly breaks the
dependent relationship on XSM_ENABLE which is addressed when XSM_ENABLE
is converted to Kconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2016-01-07 15:18:45 +01:00
Doug Goldstein df9f556700 build: convert CONFIG_COMPAT to Kconfig
Use the Kconfig generated CONFIG_COMPAT defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
2015-12-21 13:39:27 +01:00
Doug Goldstein 4996f8b1f5 build: add support configuring for x86_32
This will allow OSSTest to run `make dist` for XEN_TARGET_ARCH=x86_32
but will still not build the hypervisor for x86_32.

Fixes: http://logs.test-lab.xenproject.org/osstest/logs/66454/
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2015-12-21 13:33:11 +01:00
Doug Goldstein 7458d58535 build: convert HAS_GICV3 use to Kconfig
Use the Kconfig generated CONFIG_HAS_GICV3 defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:55:21 +01:00
Doug Goldstein 384cc72afc build: convert HAS_MEM_SHARING use to Kconfig
Use the Kconfig generated CONFIG_HAS_MEM_SHARING defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2015-12-16 17:54:55 +01:00
Doug Goldstein c248338b7a build: convert HAS_MEM_PAGING use to Kconfig
Use the Kconfig generated CONFIG_HAS_MEM_PAGING defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:54:31 +01:00
Doug Goldstein ab26ab3084 build: convert HAS_MEM_ACCESS use to Kconfig
Use the Kconfig generated CONFIG_HAS_MEM_ACCESS defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:53:49 +01:00
Doug Goldstein 1e02021d84 build: convert HAS_EHCI use to Kconfig
Use the Kconfig generated CONFIG_HAS_EHCI defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:53:15 +01:00
Doug Goldstein ef6409ae1b build: convert HAS_SCIF use to Kconfig
Use the Kconfig generated CONFIG_HAS_SCIF defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:52:54 +01:00
Doug Goldstein ee6b91d12e build: convert HAS_OMAP use to Kconfig
Use the Kconfig generated CONFIG_HAS_OMAP defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:52:33 +01:00
Doug Goldstein 60e9b9670e build: convert HAS_EXYNOS4210 use to Kconfig
Use the Kconfig generated CONFIG_HAS_EXYNOS4210 defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:52:12 +01:00
Doug Goldstein 162df803d6 build: convert HAS_PL011 use to Kconfig
Use the Kconfig generated CONFIG_HAS_PL011 defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:51:48 +01:00
Doug Goldstein d21e3663af build: convert HAS_CADENCE_UART use to Kconfig
Use the Kconfig generated CONFIG_HAS_CADENCE_UART defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:51:27 +01:00
Doug Goldstein 6eb48cbfdf build: convert HAS_ARM_HDLCD use to Kconfig
Use the Kconfig generated CONFIG_HAS_ARM_HDLCD defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:50:44 +01:00
Doug Goldstein 684b413064 build: convert HAS_KEXEC / KEXEC use to Kconfig
Use the Kconfig generated CONFIG_HAS_KEXEC defines in the build system
and replace kexec :=y in Rules.mk with a kconfig option called
CONFIG_KEXEC. Purposefully did not merge the two variables together in
this patch to keep this as mechanical as possible.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:49:40 +01:00
Doug Goldstein 04075af137 build: convert HAS_PDX use to Kconfig
Use the Kconfig generated CONFIG_HAS_PDX defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:49:16 +01:00
Doug Goldstein 9ad19015ce build: convert HAS_GDBSX use to Kconfig
Use the Kconfig generated CONFIG_HAS_GDBSX defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:48:51 +01:00
Doug Goldstein 994ce40a91 build: convert HAS_CPUFREQ use to Kconfig
Use the Kconfig generated CONFIG_HAS_CPUFREQ defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:48:14 +01:00
Doug Goldstein 56f7d5db12 build: convert HAS_VGA use to Kconfig
Use the Kconfig generated CONFIG_HAS_VGA defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:47:48 +01:00
Doug Goldstein 415a5b9588 build: convert HAS_VIDEO use to Kconfig
Use the Kconfig generated CONFIG_HAS_VIDEO defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:46:55 +01:00
Doug Goldstein 933daac823 build: convert HAS_ACPI use to Kconfig
Use the Kconfig generated CONFIG_HAS_ACPI defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:46:15 +01:00
Doug Goldstein 642efcc683 build: convert HAS_IOPORTS use to Kconfig
Use the Kconfig generated CONFIG_HAS_IOPORTS defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:45:45 +01:00
Doug Goldstein f02ad35724 build: convert HAS_NS16550 use to Kconfig
Use the Kconfig generated CONFIG_HAS_NS16550 defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:45:07 +01:00
Doug Goldstein 1809d50035 build: convert HAS_PCI use to Kconfig
Use the Kconfig generated CONFIG_HAS_PCI defines in the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2015-12-16 17:44:22 +01:00
Doug Goldstein e7bb2a30a3 build: convert HAS_DEVICE_TREE use to Kconfig
Use the Kconfig generated CONFIG_HAS_DEVICE_TREE defines in the code
base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:43:24 +01:00
Doug Goldstein e0d44c1f94 build: convert HAS_PASSTHROUGH use to Kconfig
Use the Kconfig generated HAS_PASSTHROUGH defines for the code base.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:42:03 +01:00
Doug Goldstein a75bdd57ca build: use generated Kconfig options for Xen
Switches the build system to rely on the options and flags generated by
Kconfig to control what gets built and how. Follow on patches will
convert items to be prefixed with CONFIG_. Additionally remove a #define
that resulted in a redefined variable when building for arm.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:40:05 +01:00
Doug Goldstein e9ea93d0ab build: build Kconfig and config rules
Wire in the Kconfig build and makefile rules to be able to generate
valid configuration files to be used by the build process but don't
actually use the output for affecting the Xen build. To avoid dragging
in most of Kbuild from the Linux kernel this adds Makefile.kconfig which
is our real entry point into building kconfig. This attempts to reuse as
much of the Xen build bits as possible and wire them to the bits that
kconfig expects to be provided by Kbuild.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 17:27:06 +01:00
Doug Goldstein 8c271b7584 build: import Kbuild/Kconfig from Linux 4.3
Import the following files and directories from the Linux v4.3 tag /
commit id 6a13feb9c82803e2b815eca72fa7a9f5561d7861.

- scripts/kconfig -> xen/tools/kconfig
- Documentation/kbuild/kconfig{,-language}.txt ->
  docs/misc/kconfig{-language}.txt
- scripts/Makefile.host -> xen/tools/kconfig/Makefile.host

These files are currently unused but will be used shortly.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
2015-12-16 17:25:15 +01:00
Doug Goldstein 7df31694de tools: always enable HAS_MEM_ACCESS
For all supported targets HAS_MEM_ACCESS is enabled so this drops the
conditional and always makes it enabled. The goal here is to remove the
setting in the top level config directory when kconfig changes land.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2015-12-16 11:57:46 +00:00
Doug Goldstein 1367e9e5ba xendomains initscript: test for privcmd char device
Allow the init script to continue if either the character device or the
proc file is available.

CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2015-12-02 15:24:23 +00:00
Doug Goldstein 9021863e9d tools: update outdated header comment on privcmd.h
The BSDs have always accessed privcmd via /dev/xen/privcmd while Linux
has used /proc/xen/privcmd but things are shifting to /dev/xen/privcmd
as well.

CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2015-12-02 15:24:14 +00:00