Luis R. Rodriguez
6c6685055a
kconfig: add xenconfig defconfig helper
...
This lets you build a kernel which can support xen dom0
or xen guests on i386, x86-64 and arm64 by just using:
make xenconfig
You can start from an allnoconfig and then switch to xenconfig.
This also splits out the options which are available currently
to be built with x86 and 'make ARCH=arm64' under a shared config.
Technically xen supports a dom0 kernel and also a guest
kernel configuration but upon review with the xen team
since we don't have many dom0 options its best to just
combine these two into one.
A few generic notes: we enable both of these:
CONFIG_INET=y
CONFIG_BINFMT_ELF=y
although technically not required given you likely will
end up with a pretty useless system otherwise.
A few architectural differences worth noting:
$ make allnoconfig; make xenconfig > /dev/null ; \
grep XEN .config > 64-bit-config
$ make ARCH=i386 allnoconfig; make ARCH=i386 xenconfig > /dev/null; \
grep XEN .config > 32-bit-config
$ make ARCH=arm64 allnoconfig; make ARCH=arm64 xenconfig > /dev/null; \
grep XEN .config > arm64-config
Since the options are already split up with a generic config and
architecture specific configs you anything on the x86 configs
are known to only work right now on x86. For instance arm64 doesn't
support MEMORY_HOTPLUG yet as such although we try to enabe it
generically arm64 doesn't have it yet, so we leave the xen
specific kconfig option XEN_BALLOON_MEMORY_HOTPLUG on x86's config
file to set expecations correctly.
Then on x86 we have differences between i386 and x86-64. The difference
between 64-bit-config and 32-bit-config is you don't get XEN_MCE_LOG as
this is only supported on 64-bit. You also do not get on i386
XEN_BALLOON_MEMORY_HOTPLUG, there does not seem to be any technical
reasons to not allow this but I gave up after a few attempts.
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: penberg@kernel.org
Cc: levinsasha928@gmail.com
Cc: mtosatti@redhat.com
Cc: fengguang.wu@intel.com
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xenproject.org
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Michal Marek <mmarek@suse.cz>
Acked-by: David Rientjes <rientjes@google.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2015-06-16 11:04:29 +01:00
..
basic
kernel: build bin2c based on config option CONFIG_BUILD_BIN2C
2014-08-08 15:57:32 -07:00
coccinelle
scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning
2015-04-15 14:21:31 +02:00
dtc
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
gdb
scripts/gdb: add empty package initialization script
2015-02-28 09:57:51 -08:00
genksyms
genksyms: fix typeof() handling
2014-04-03 16:20:52 -07:00
kconfig
kconfig: add xenconfig defconfig helper
2015-06-16 11:04:29 +01:00
ksymoops
mod
Quentin opened a can of worms by adding extable entry checking to modpost,
2015-04-22 09:49:24 -07:00
package
builddeb: Try to determine distribution
2015-01-06 20:42:46 +01:00
rt-tester
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
selinux
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
tracing
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
.gitignore
bin2c: move bin2c in scripts/basic
2014-08-08 15:57:32 -07:00
analyze_suspend.py
PM / tools: analyze_suspend.py: update to v3.0
2014-08-09 02:47:58 +02:00
asn1_compiler.c
X.509: silence asn1 compiler debug output
2015-01-23 12:10:39 +00:00
bloat-o-meter
bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_
2014-08-23 13:08:48 -07:00
bootgraph.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
check_extable.sh
scripts: add check_extable.sh script.
2015-04-13 21:03:02 +09:30
checkincludes.pl
checkincludes: fix perlcritic warnings
2010-03-07 21:19:57 +01:00
checkkconfigsymbols.py
checkkconfigsymbols.py: fix sorted output
2015-03-24 15:18:44 +01:00
checkpatch.pl
checkpatch: avoid "spaces required around that ':'" false positive
2015-04-17 09:03:59 -04:00
checkstack.pl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2014-10-07 21:16:26 -04:00
checksyscalls.sh
scripts/checksyscalls.sh: Make renameat optional
2014-05-20 10:59:38 +02:00
checkversion.pl
kbuild: don't warn about include/linux/version.h not including itself
2011-04-29 15:38:55 +02:00
cleanfile
cleanpatch
coccicheck
Coccinelle: Update information about the minimal version required
2013-07-03 22:58:20 +02:00
config
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
conmakehash.c
kbuild: trivial - remove trailing spaces
2014-04-30 17:34:32 +02:00
decode_stacktrace.sh
decode_stacktrace: make stack dump output useful again
2014-06-10 15:29:43 -07:00
decodecode
scripts/decodecode: make faulting insn ptr more robust
2013-04-29 15:54:27 -07:00
depmod.sh
depmod: pass -P $CONFIG_SYMBOL_PREFIX
2013-02-22 11:52:31 +01:00
diffconfig
vfs,ext2: remove CONFIG_EXT2_FS_XIP and rename CONFIG_FS_XIP to CONFIG_FS_DAX
2015-02-16 17:56:04 -08:00
docproc.c
kbuild: trivial - use tabs for code indent where possible
2014-06-10 14:00:53 +02:00
export_report.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
extract-ikconfig
scripts/extract-ikconfig: Support LZ4-compressed images.
2015-04-15 14:01:12 +02:00
extract-vmlinux
scripts: add extract-vmlinux
2011-08-31 16:12:17 +02:00
gcc-goto.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-ld
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-version.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-x86_32-has-stack-protector.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-x86_64-has-stack-protector.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gen_initramfs_list.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
get_maintainer.pl
scripts: Teach get_maintainer.pl about the new "R:" tag
2014-07-08 14:47:17 -07:00
gfp-translate
chmod +x scripts/gfp-translate
2012-06-27 12:44:29 -07:00
headerdep.pl
headerdep: perlcritic warning
2010-03-23 12:26:38 +01:00
headers.sh
CRIS: Fix headers_install
2014-12-20 00:01:12 +01:00
headers_check.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
headers_install.sh
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-10-14 09:22:26 +02:00
kallsyms.c
Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols
2015-04-07 13:04:51 +02:00
Kbuild.include
kbuild: allow cc-ifversion to have the argument for false condition
2015-01-09 17:25:44 +01:00
kernel-doc
scripts/kernel-doc: don't eat struct members with __aligned
2014-12-10 17:41:02 -08:00
ld-version.sh
Kbuild, lto: add ld-version and ld-ifversion macros
2014-02-13 20:25:00 -08:00
Lindent
link-vmlinux.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
Makefile
scripts/gdb: add infrastructure
2015-02-17 14:34:53 -08:00
Makefile.asm-generic
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
Makefile.build
ftrace: allow architectures to specify ftrace compile options
2015-01-29 09:19:19 +01:00
Makefile.clean
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2015-02-19 10:07:08 -08:00
Makefile.dtbinst
kbuild: include $(src)/Makefile rather than $(obj)/Makefile
2015-04-02 16:42:08 +02:00
Makefile.extrawarn
kbuild, LLVMLinux: Supress warnings unless W=1-3
2014-08-05 15:40:01 +02:00
Makefile.fwinst
kbuild: include $(src)/Makefile rather than $(obj)/Makefile
2015-04-02 16:42:08 +02:00
Makefile.headersinst
kbuild: collect shorthands into scripts/Kbuild.include
2014-11-26 14:36:52 +01:00
Makefile.help
Add a target to use the Coccinelle checker
2010-06-12 00:00:29 +02:00
Makefile.host
kbuild: handle the dependency of multi-objs hostprogs appropriately
2014-08-19 10:26:20 +02:00
Makefile.kasan
kasan: Makefile: shut up warnings if CONFIG_COMPILE_TEST=y
2015-04-17 09:03:59 -04:00
Makefile.lib
kbuild: Create directory for target DTB
2015-04-03 13:52:28 -07:00
Makefile.modbuiltin
kbuild: Create output directory in Makefile.modbuiltin
2010-06-10 12:23:08 +02:00
Makefile.modinst
kbuild: handle module compression while running 'make modules_install'.
2014-08-27 21:54:12 +09:30
Makefile.modpost
modpost: Optionally ignore secondary errors seen if a single module build fails
2013-09-23 15:45:03 +09:30
Makefile.modsign
modsign: lookup lines ending in .ko in .mod files
2014-08-27 21:54:11 +09:30
makelst
markup_oops.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mkcompile_h
kbuild: trivial - remove trailing spaces
2014-04-30 17:34:32 +02:00
mkmakefile
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mksysmap
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mkuboot.sh
mkuboot.sh: Fail if mkimage is missing
2011-01-07 14:31:01 +01:00
mkversion
module-common.lds
kernel: add support for .init_array.* constructors
2015-02-13 21:21:42 -08:00
namespace.pl
Revert "namespace: add source file location exceptions"
2010-10-28 00:59:56 +02:00
objdiff
scripts: objdiff: support directories for the augument of record command
2014-06-10 14:59:33 +02:00
patch-kernel
kbuild: trivial - remove trailing spaces
2014-04-30 17:34:32 +02:00
pnmtologo.c
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
profile2linkerlist.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
recordmcount.c
s390/ftrace,kprobes: allow to patch first instruction
2014-10-27 13:27:27 +01:00
recordmcount.h
recordmcount/MIPS: Fix possible incorrect mcount_loc table entries in modules
2014-06-26 10:48:19 +01:00
recordmcount.pl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2015-02-11 17:42:32 -08:00
setlocalversion
Fix detectition of kernel git repository in setlocalversion script [take #2 ]
2014-01-03 14:48:42 +01:00
show_delta
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
sign-file
treewide: fix errors in printk
2014-09-01 11:18:25 +02:00
sortextable.c
xtensa: enable sorting extable at build time
2014-04-02 01:35:50 +04:00
sortextable.h
scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized
2014-10-14 02:18:23 +02:00
spelling.txt
checkpatch: spell check reudce
2015-04-17 09:03:56 -04:00
tags.sh
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-10-14 09:27:48 +02:00
unifdef.c
unifdef: update to upstream version 2.5
2011-01-22 15:50:59 +01:00
ver_linux
xen-hypercalls.sh
xen: build infrastructure for generating hypercall depending symbols
2015-03-16 14:49:13 +00:00
xz_wrap.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00