linux-qubasis

linux oasis port as a qubes template

git clone https://9o.is/git/linux-qubasis.git

gen.sh

(8530B)


      1 git RELEASE-4.19.3
      2 
      3 case $TARGET_ARCH in
      4 	x86_64) xen_arch=x86;;
      5 	*) error "Unsupported arch $TARGET_ARCH";;
      6 esac
      7 
      8 cflags "
      9 	-std=gnu99
     10 	-D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
     11 	-D_LARGEFILE_SOURCE
     12 	-D_LARGEFILE64_SOURCE
     13 	-include $dir/config.h
     14 	-I$srcdir/tools/include
     15 	-I$outdir
     16 	-I$pkgdir/util-linux/include
     17 	-I$pkgdir/yajl/include
     18 	-I$pkgdir/zlib/include
     19 	-Wno-pedantic
     20 	-Wno-unused-parameter
     21 	-Wno-sign-compare
     22 	-Wno-old-style-declaration
     23 	-Wno-unused-but-set-variable
     24 	-Wno-missing-field-initializers
     25 "
     26 
     27 ldflags -pthread
     28 
     29 dep "
     30 	$outdir/headerslinked
     31 	$outdir/xen/foreign/x86_32.h
     32 	$outdir/xen/foreign/x86_64.h
     33 	$outdir/xen/lib/x86/cpuid-autogen.h
     34 	$outdir/xen-xsm/flask/flask.h
     35 	$outdir/_libxl_save_msgs_callout.h
     36 	$outdir/_libxl_types.h
     37 	$outdir/_libxl_types_internal.h
     38 	$outdir/ssdt_s3.h
     39 	$outdir/ssdt_s4.h
     40 	$outdir/ssdt_pm.h
     41 	$outdir/ssdt_tpm.h
     42 	$outdir/ssdt_tpm2.h
     43 	$outdir/ssdt_laptop_slate.h
     44 	util-linux/headers
     45 	yajl/headers
     46 	zlib/headers
     47 "
     48 
     49 include --src-prefix tools/include "
     50 	libxenvchan.h
     51 	xenctrl.h
     52 	xenctrl_compat.h
     53 	xenevtchn.h
     54 	xengnttab.h
     55 	xenstore.h
     56 	xenstore_lib.h
     57 	xentoollog.h
     58 "
     59 
     60 include --src-prefix $outdir/xen/foreign --prefix xen/foreign "
     61 	x86_32.h
     62 	x86_64.h
     63 "
     64 
     65 include --src-prefix tools/include/xen-sys/Linux --prefix xen/sys "
     66 	evtchn.h
     67 "
     68 
     69 include --keep-path --src-prefix xen/include/public --prefix xen "
     70 	arch-x86/hvm/save.h
     71 	arch-x86/xen-mca.h
     72 	arch-x86/xen-x86_64.h
     73 	arch-x86/xen.h
     74 	domctl.h
     75 	event_channel.h
     76 	grant_table.h
     77 	hvm/dm_op.h
     78 	hvm/hvm_op.h
     79 	hvm/params.h
     80 	hvm/save.h
     81 	io/libxenvchan.h
     82 	io/xs_wire.h
     83 	kexec.h
     84 	memory.h
     85 	physdev.h
     86 	platform.h
     87 	sched.h
     88 	sysctl.h
     89 	trace.h
     90 	version.h
     91 	xen-compat.h
     92 	xen.h
     93 	xsm/flask_op.h
     94 "
     95 
     96 rule linkheaders 'sh $dir/linkheaders.sh $srcdir && touch $out'
     97 bind description 'XEN $out'
     98 
     99 rule mkheader 'python3 $srcdir/tools/include/xen-foreign/mkheader.py $arch $out $in >/dev/null'
    100 bind description 'XEN $out'
    101 
    102 rule gencpuid 'python3 $srcdir/xen/tools/gen-cpuid.py -i $in -o $out'
    103 bind description 'XEN $out'
    104 
    105 rule gentypes 'python3 $srcdir/tools/libs/light/gentypes.py $in $out >/dev/null 2>&1'
    106 bind description 'XEN $out'
    107 
    108 rule genlibxlsavemsgs 'python3 $dir/libxl_save_msgs_gen.py $arg > $out'
    109 bind description 'XEN $out'
    110 
    111 rule gendsdt_pvh 'sh $dir/dsdt_pvh.sh $hostdir/mk_dsdt $in $out'
    112 bind description 'XEN $out'
    113 
    114 rule iasl 'sh $dir/iasl.sh $in $out'
    115 bind description 'XEN $out'
    116 
    117 rule mkflask 'sh $srcdir/xen/xsm/flask/policy/mkflask.sh $$(which awk) $path $in'
    118 bind description 'XEN $out'
    119 bind path $outdir/xen-xsm/flask
    120 
    121 genlibxlsavemsgs() {
    122 	build genlibxlsavemsgs $1 '|' $dir/libxl_save_msgs_gen.py
    123 	bind arg ${1##*_}
    124 }
    125 
    126 mkx86header() {
    127 	mkheader $1.h.tmp "
    128 		$srcdir/xen/include/public/arch-x86/xen-$1.h
    129 		$srcdir/xen/include/public/arch-x86/xen.h
    130 		$srcdir/xen/include/public/xen.h
    131 	"
    132 	bind arch $1
    133 
    134 	sed xen/foreign/$1.h $outdir/$1.h.tmp
    135 	bind expr "\"s/(__align8__ \(uint64_t\))/(\1)/g\""
    136 }
    137 
    138 linkheaders headerslinked '||' $dir/fetch
    139 mkx86header x86_32
    140 mkx86header x86_64
    141 gencpuid xen/lib/x86/cpuid-autogen.h xen/include/public/arch-x86/cpufeatureset.h
    142 
    143 gentypes "
    144 	_libxl_types.h
    145 	_libxl_types_private.h
    146 	_libxl_types_json.h
    147 	_libxl_types.c
    148 " tools/libs/light/libxl_types.idl
    149 
    150 gentypes "
    151 	_libxl_types_internal.h
    152 	_libxl_types_internal_private.h
    153 	_libxl_types_internal_json.h
    154 	_libxl_types_internal.c
    155 " tools/libs/light/libxl_types_internal.idl
    156 
    157 genlibxlsavemsgs _libxl_save_msgs_callout.h
    158 genlibxlsavemsgs _libxl_save_msgs_callout.c
    159 gendsdt_pvh dsdt_pvh.c tools/libacpi/dsdt_acpi_info.asl
    160 mkflask xen-xsm/flask/flask.h xen/xsm/flask/policy/initial_sids
    161 
    162 iasl ssdt_s3.h tools/libacpi/ssdt_s3.asl
    163 iasl ssdt_s4.h tools/libacpi/ssdt_s4.asl
    164 iasl ssdt_pm.h tools/libacpi/ssdt_pm.asl
    165 iasl ssdt_tpm.h tools/libacpi/ssdt_tpm.asl
    166 iasl ssdt_tpm2.h tools/libacpi/ssdt_tpm2.asl
    167 iasl ssdt_laptop_slate.h tools/libacpi/ssdt_laptop_slate.asl
    168 
    169 lib libxentoolcore.a --src-prefix tools/libs/toolcore "
    170 	handlereg.c
    171 "
    172 
    173 lib libxentoollog.a --src-prefix tools/libs/toollog "
    174 	xtl_core.c
    175 	xtl_logger_stdio.c
    176 "
    177 
    178 lib libxenevtchn.a --src-prefix tools/libs/evtchn "
    179 	core.c
    180 	linux.c
    181 "
    182 
    183 lib libxengnttab.a --src-prefix tools/libs/gnttab "
    184 	gnttab_core.c
    185 	gntshr_core.c
    186 	linux.c
    187 "
    188 
    189 lib libxencall.a --src-prefix tools/libs/call "
    190 	core.c
    191 	buffer.c
    192 	linux.c
    193 "
    194 
    195 lib libxenforeignmemory.a --src-prefix tools/libs/foreignmemory "
    196 	core.c
    197 	linux.c
    198 "
    199 
    200 lib libxendevicemodel.a --src-prefix tools/libs/devicemodel "
    201 	core.c
    202 	common.c
    203 "
    204 
    205 lib libxenctrl.a --src-prefix tools/libs/ctrl -pthread -D__XEN_TOOLS__ -D_GNU_SOURCE "
    206 	xc_altp2m.c
    207 	xc_arinc653.c
    208 	xc_cpu_hotplug.c
    209 	xc_cpupool.c
    210 	xc_csched.c
    211 	xc_csched2.c
    212 	xc_devicemodel_compat.c
    213 	xc_domain.c
    214 	xc_evtchn.c
    215 	xc_evtchn_compat.c
    216 	xc_flask.c
    217 	xc_foreign_memory.c
    218 	xc_gnttab.c
    219 	xc_gnttab_compat.c
    220 	xc_hcall_buf.c
    221 	xc_kexec.c
    222 	xc_linux.c
    223 	xc_mem_access.c
    224 	xc_mem_paging.c
    225 	xc_memshr.c
    226 	xc_misc.c
    227 	xc_monitor.c
    228 	xc_pagetab.c
    229 	xc_physdev.c
    230 	xc_pm.c
    231 	xc_private.c
    232 	xc_psr.c
    233 	xc_resource.c
    234 	xc_rt.c
    235 	xc_tbuf.c
    236 	xc_vm_event.c
    237 	xc_vmtrace.c
    238 "
    239 
    240 lib libxenguest.a --src-prefix tools/libs/guest -D__XEN_TOOLS__ -iquote $srcdir/tools/libs/ctrl -D_GNU_SOURCE "
    241 	xg_core.c
    242 	xg_core_x86.c
    243 	xg_cpuid_x86.c
    244 	xg_dom_binloader.c
    245 	xg_dom_boot.c
    246 	xg_dom_bzimageloader.c
    247 	xg_dom_compat_linux.c
    248 	xg_dom_core.c
    249 	xg_dom_decompress_lz4.c
    250 	xg_dom_elfloader.c
    251 	xg_dom_hvmloader.c
    252 	xg_dom_x86.c
    253 	xg_domain.c
    254 	xg_offline_page.c
    255 	xg_private.c
    256 	xg_resume.c
    257 	xg_sr_common.c
    258 	xg_sr_common_x86.c
    259 	xg_sr_common_x86_pv.c
    260 	xg_sr_restore.c
    261 	xg_sr_restore_x86_hvm.c
    262 	xg_sr_restore_x86_pv.c
    263 	xg_sr_save.c
    264 	xg_sr_save_x86_hvm.c
    265 	xg_sr_save_x86_pv.c
    266 	xg_suspend.c
    267 	$srcdir/xen/common/libelf/libelf-dominfo.c
    268 	$srcdir/xen/common/libelf/libelf-loader.c
    269 	$srcdir/xen/common/libelf/libelf-tools.c
    270 	$srcdir/xen/lib/x86/cpuid.c
    271 	$srcdir/xen/lib/x86/msr.c
    272 	$srcdir/xen/lib/x86/policy.c
    273 "
    274 
    275 lib libxenstore.a --src-prefix tools/libs/store -DUSE_PTHREAD -Wno-cast-function-type "
    276 	xs.c
    277 "
    278 
    279 lib libxenvchan.a --src-prefix tools/libs/vchan -D__XEN_TOOLS__ "
    280 	init.c
    281 	io.c
    282 "
    283 
    284 lib libxenhypfs.a --src-prefix tools/libs/hypfs "
    285 	core.c
    286 "
    287 
    288 libxenlight_cflags="
    289 	-pthread
    290 	-I$srcdir/tools/libacpi \
    291 	-I$srcdir/tools/libs/light
    292 	-D__XEN_TOOLS__
    293 	-DCONFIG_PCI_SUPP_LEGACY_IRQ
    294 	-DLIBACPI_STDUTILS=\\\"../libs/light/libxl_x86_acpi.h\\\"
    295 	-Wshadow
    296 	-Wno-cast-function-type
    297 	-Wno-format-zero-length
    298 	-Wno-implicit-fallthrough
    299 "
    300 
    301 lib libxenlight.a --src-prefix tools/libs/light $libxenlight_cflags "
    302 	flexarray.c
    303 	libxl.c
    304 	libxl_9pfs.c
    305 	libxl_aoutils.c
    306 	libxl_bootloader.c
    307 	libxl_checkpoint_device.c
    308 	libxl_console.c
    309 	libxl_convert_callout.c
    310 	libxl_cpuid.c
    311 	libxl_cpupool.c
    312 	libxl_create.c
    313 	libxl_device.c
    314 	libxl_disk.c
    315 	libxl_dm.c
    316 	libxl_dom.c
    317 	libxl_dom_save.c
    318 	libxl_dom_suspend.c
    319 	libxl_domain.c
    320 	libxl_event.c
    321 	libxl_exec.c
    322 	libxl_flask.c
    323 	libxl_fork.c
    324 	libxl_genid.c
    325 	libxl_internal.c
    326 	libxl_json.c
    327 	libxl_linux.c
    328 	libxl_mem.c
    329 	libxl_nic.c
    330 	libxl_no_colo.c
    331 	libxl_nonetbuffer.c
    332 	libxl_numa.c
    333 	libxl_paths.c
    334 	libxl_pci.c
    335 	libxl_psr.c
    336 	libxl_pvcalls.c
    337 	libxl_qmp.c
    338 	libxl_remus.c
    339 	libxl_remus_disk_drbd.c
    340 	libxl_save_callout.c
    341 	libxl_sched.c
    342 	libxl_setresuid.c
    343 	libxl_stream_read.c
    344 	libxl_stream_write.c
    345 	libxl_tmem.c
    346 	libxl_usb.c
    347 	libxl_utils.c
    348 	libxl_uuid.c
    349 	libxl_vdispl.c
    350 	libxl_virtio.c
    351 	libxl_vkb.c
    352 	libxl_vnuma.c
    353 	libxl_vsnd.c
    354 	libxl_vtpm.c
    355 	libxl_x86.c
    356 	libxl_x86_acpi.c
    357 	libxl_xshelp.c
    358 	osdeps.c
    359 	$outdir/_libxl_types.c
    360 	$outdir/_libxl_types_internal.c
    361 	$outdir/_libxl_save_msgs_callout.c
    362 	$outdir/dsdt_pvh.c
    363 	$srcdir/tools/libacpi/build.c
    364 	$srcdir/tools/libacpi/static_tables.c
    365 "
    366 
    367 lib libxlutil.a --src-prefix tools/libs/util -pthread -D__XEN_TOOLS__ "
    368 	libxlu_cfg_y.c
    369 	libxlu_cfg_l.c
    370 	libxlu_cfg.c
    371 	libxlu_disk_l.c
    372 	libxlu_disk.c
    373 	libxlu_vif.c
    374 	libxlu_pci.c
    375 "
    376 
    377 bin xl --src-prefix tools/xl -pthread -D__XEN_TOOLS__ -Wno-implicit-fallthrough "
    378 	xl.c
    379 	xl_cmdtable.c
    380 	xl_sxp.c
    381 	xl_utils.c
    382 	xl_psr.c
    383 	xl_parse.c
    384 	xl_cpupool.c
    385 	xl_flask.c
    386 	xl_vtpm.c
    387 	xl_block.c
    388 	xl_nic.c
    389 	xl_usb.c
    390 	xl_sched.c
    391 	xl_pci.c
    392 	xl_vcpu.c
    393 	xl_cdrom.c
    394 	xl_mem.c
    395 	xl_info.c
    396 	xl_console.c
    397 	xl_misc.c
    398 	xl_vmcontrol.c
    399 	xl_saverestore.c
    400 	xl_migrate.c
    401 	xl_vdispl.c
    402 	xl_vsnd.c
    403 	xl_vkb.c
    404 	$libdir/libxlutil.a
    405 	$libdir/libxenlight.a
    406 	$libdir/libxenguest.a
    407 	$libdir/libxenctrl.a
    408 	$libdir/libxenhypfs.a
    409 	$libdir/libxenstore.a
    410 	$libdir/libxendevicemodel.a
    411 	$libdir/libxenforeignmemory.a
    412 	$libdir/libxengnttab.a
    413 	$libdir/libxenevtchn.a
    414 	$libdir/libxencall.a
    415 	$libdir/libxentoollog.a
    416 	$libdir/libxentoolcore.a
    417 	$pkgdir/util-linux/libuuid.a.d
    418 	$pkgdir/zlib/libz.a
    419 	$pkgdir/yajl/yajl.a
    420 "
    421 
    422 host() {
    423 	cflags -D__XEN_TOOLS__ -DCONFIG_X86 -I$srcdir/tools/include
    424 	exe mk_dsdt tools/libacpi/mk_dsdt.c
    425 }