1-------------------------------------------------------------------------- 2-- Copyright (c) 2015-2016 ETH Zurich. 3-- All rights reserved. 4-- 5-- This file is distributed under the terms in the attached LICENSE file. 6-- If you do not find this file, copies can be found by writing to: 7-- ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. Attn: Systems Group. 8-- 9-- Hakefile for /platforms/ 10-- 11-------------------------------------------------------------------------- 12 13let bin_rcce_lu = [ "/sbin/" ++ f | f <- [ 14 "rcce_lu_A1", 15 "rcce_lu_A2", 16 "rcce_lu_A4", 17 "rcce_lu_A8", 18 "rcce_lu_A16", 19 "rcce_lu_A32", 20 "rcce_lu_A64" ]] 21 22 bin_rcce_bt = [ "/sbin/" ++ f | f <- [ 23 "rcce_bt_A1", 24 "rcce_bt_A4", 25 "rcce_bt_A9", 26 "rcce_bt_A16", 27 "rcce_bt_A25", 28 "rcce_bt_A36" ]] 29 30 tests_common = [ "/sbin/" ++ f | f <- [ 31 "fputest", 32 "hellotest", 33 "idctest", 34 "memtest", 35 "nkmtest_all", 36 "nkmtest_map_unmap", 37 "nkmtest_modify_flags", 38 "nkmtest_map_offset", 39 "schedtest", 40 "test_retype", 41 "test_rootcn_resize", 42 "test_create_l1l2_cnodes", 43 "test_remote_retype", 44 "test_remote_delete", 45 "test_remote_revoke", 46 "testerror", 47 "yield_test", 48 "skb_cap_storage" 49 ] ] 50 51 tests_x86 = [ "/sbin/" ++ f | f <- [ 52 "tests/luatest", 53 "tests/numatest" ] ] ++ tests_common 54 55 tests_x86_64 = [ "/sbin/" ++ f | f <- [ 56 "arrakis_hellotest", 57 "ata_rw28_test", 58 "bomp_cpu_bound", 59 "bomp_cpu_bound_progress", 60 "bomp_sync", 61 "bomp_sync_progress", 62 "bomp_test", 63 "bulk_shm", 64 "cryptotest", 65 "fread_test", 66 "fscanf_test", 67 "mdbtest_addr_zero", 68 "mdbtest_range_query", 69 "mem_affinity", 70 "multihoptest", 71 "net-test", 72 "net_openport_test", 73 "nkmtest_invalid_mappings", 74 "perfmontest", 75 "phoenix_kmeans", 76 "socketpipetest", 77 "spantest", 78 "spin", 79 "testconcurrent", 80 "testdesc", 81 "testdesc-child", 82 "tests/cxxtest", 83 "tests/dma_test", 84 "tests/tftpclient", 85 "tests/xphi_nameservice_test", 86 "thcidctest", 87 "thcminitest", 88 "thctest", 89 "timer_test", 90 "tlstest", 91 "tweedtest", 92 "xcorecap", 93 "xcorecapserv" ] ] ++ tests_x86 94 95 96 tests_k1om = [ "/sbin/" ++ f | f <- [ 97 "tests/dma_test", 98 "tests/xeon_phi_inter", 99 "tests/xeon_phi_test", 100 "tests/xphi_nameservice_test" ] ] ++ tests_x86 101 102 bench_common = [ "/sbin/" ++ f | f <- [ 103 "channel_cost_bench", 104 "flounder_stubs_buffer_bench", 105 "flounder_stubs_empty_bench", 106 "flounder_stubs_payload_bench", 107 "xcorecapbench" ]] 108 109 bench_x86 = [ "/sbin/" ++ f | f <- [ 110 "multihop_latency_bench", 111 "net_openport_test", 112 "perfmontest", 113 "thc_v_flounder_empty", 114 "timer_test", 115 "udp_throughput", 116 "ump_exchange", 117 "ump_latency", 118 "ump_latency_cache", 119 "ump_receive", 120 "ump_send", 121 "ump_throughput" ]] 122 123 bench_x86_64 = bench_x86 ++ bin_rcce_bt ++ bin_rcce_lu ++ 124 [ "/sbin/" ++ f | f <- [ 125 "ahci_bench", 126 "apicdrift_bench", 127 "benchmarks/bomp_mm", 128 "benchmarks/dma_bench", 129 "benchmarks/xomp_share", 130 "benchmarks/xomp_spawn", 131 "benchmarks/xomp_work", 132 "benchmarks/xphi_ump_bench", 133 "bomp_benchmark_cg", 134 "bomp_benchmark_ft", 135 "bomp_benchmark_is", 136 "bulk_transfer_passthrough", 137 "bulkbench", 138 "bulkbench_micro_echo", 139 "bulkbench_micro_rtt", 140 "bulkbench_micro_throughput", 141 "lrpc_bench", 142 "mdb_bench", 143 "mdb_bench_old", 144 "netthroughput", 145 "phases_bench", 146 "phases_scale_bench", 147 "placement_bench", 148 "rcce_pingpong", 149 "shared_mem_clock_bench", 150 "tsc_bench" ]] 151 152 153 bench_k1om = [ "/sbin/" ++ f | f <- [ 154 "benchmarks/bomp_mm", 155 "benchmarks/dma_bench", 156 "benchmarks/xomp_share", 157 "benchmarks/xomp_spawn", 158 "benchmarks/xomp_work", 159 "benchmarks/xphi_ump_bench", 160 "benchmarks/xphi_xump_bench" ] ] ++ bench_x86 161 162 -- Example program modules 163 modules_xmpl = [ "/sbin/" ++ f | f <- [ 164 --"examples/xmpl-call-response", 165 "examples/xmpl-cow", 166 "examples/xmpl-hello", 167 --"examples/xmpl-msg", 168 --"examples/xmpl-rpc_msg", 169 --"examples/xmpl-rpc_rpc", 170 "examples/xmpl-span", 171 "examples/xmpl-spawn", 172 "examples/xmpl-thc-binding", 173 --"examples/xmpl-thc-lang", 174 "examples/xmpl-thread", 175 "examples/xmpl-thread-min", 176 "examples/xmpl-trace" ] ] 177 178 -- Default list of modules to build/install for all enabled architectures 179 modules_common = [ "/sbin/" ++ f | f <- [ 180 "init", 181 "skb", 182 "spawnd", 183 "proc_mgmt", 184 "startd", 185 "mem_serv", 186 "monitor", 187 "ramfsd" ]] 188 189 -- List of modules that are arch-independent and always built 190 modules_generic = [ 191 "/eclipseclp_ramfs.cpio.gz", 192 "/skb_ramfs.cpio.gz" ] 193 194 -- x86_64-specific modules to build by default 195 -- this should shrink as targets are ported and move into the generic list above 196 modules_x86_64 = [ "/sbin/" ++ f | f <- [ 197 "elver", 198 "cpu", 199 "acpi", 200 "ahcid", 201 "angler", 202 "arrakismon", 203 "bcached", 204 "bench", 205 "bfscope", 206 "bfscope_nfs", 207 "block_server", 208 "block_server_client", 209 "boot_perfmon", 210 "bs_user", 211 "bulk_shm", 212 "corectrl", 213 "datagatherer", 214 "dma_mgr", 215 "e1000n", 216 "e10k", 217 "e10k_queue", 218 "echoserver", 219 "fbdemo", 220 "fish", 221 "hpet", 222 "ioat_dma", 223 "kaluga", 224 "lo_queue", 225 "lpc_kbd", 226 "lpc_timer", 227 "lshw", 228 "mem_serv_dist", 229 "netd", 230 "NGD_mng", 231 "pci", 232 "routing_setup", 233 "rtl8029", 234 "serial_pc16550d", 235 "sfxge", 236 "sfn5122f", 237 "slideshow", 238 "vbe", 239 "virtio_blk", 240 "virtio_blk_host", 241 "vmkitmon", 242 "vnode_map_test", 243 "webserver", 244 "xeon_phi", 245 "xeon_phi_mgr", 246 "net_sockets_server" 247 ]] ++ modules_common 248 249 -- the following are broken in the newidc system 250 modules_x86_64_broken = [ "/sbin/" ++ f | f <- [ 251 "barriers", 252 "ipi_bench", 253 "ring_barriers", 254 "ssf_bcast", 255 "lamport_bcast" ]] 256 257 258 modules_k1om = [ "/sbin/" ++ f | f <- [ 259 "weever", 260 "cpu", 261 "xeon_phi", 262 "corectrl" ] ] 263 264 -- ARMv7-a Pandaboard modules 265 pandaModules = [ "/sbin/" ++ f | f <- [ 266 "cpu_omap44xx", 267 "init", 268 "mem_serv", 269 "monitor", 270 "proc_mgmt", 271 "ramfsd", 272 "spawnd", 273 "startd", 274 "skb", 275 "memtest", 276 "kaluga", 277 "fish", 278 "sdmatest", 279 "sdma_bench", 280 "bulk_sdma", 281 "usb_manager", 282 "usb_keyboard", 283 "serial_omap44xx", 284 "serial_kernel", 285 "angler", 286 "corectrl", 287 "driverdomain" 288 ] ] 289 290 -- ARMv7-A modules for Versatile Express EMM board (GEM5, qemu) 291 vExpressEMMModules_A15 = [ "/sbin/" ++ f | f <- [ 292 "cpu_a15ve", 293 "init", 294 "kaluga", 295 "mem_serv", 296 "monitor", 297 "proc_mgmt", 298 "ramfsd", 299 "serial_pl011", 300 "serial_kernel", 301 "spawnd", 302 "startd", 303 "corectrl", 304 "skb", 305 "angler", 306 "fish", 307 "memtest" 308 ] ] 309 310 -- ARMv7-A modules for Versatile Express EMM board (FVP) 311 vExpressEMMModules_A9 = [ "/sbin/" ++ f | f <- [ 312 "cpu_a9ve", 313 "init", 314 "kaluga", 315 "mem_serv", 316 "monitor", 317 "proc_mgmt", 318 "ramfsd", 319 "serial_pl011", 320 "serial_kernel", 321 "spawnd", 322 "startd", 323 "corectrl", 324 "skb", 325 "angler", 326 "fish", 327 "memtest" 328 ] ] 329 330 -- ARMv7-A modules for the Xilinx Zynq7000 331 zynq7Modules = [ "/sbin/" ++ f | f <- [ 332 "cpu_zynq7", 333 "init", 334 "kaluga", 335 "mem_serv", 336 "monitor", 337 "proc_mgmt", 338 "ramfsd", 339 "serial_kernel", 340 "spawnd", 341 "startd", 342 "corectrl", 343 "skb", 344 "angler", 345 "fish", 346 "memtest" 347 ] ] 348 349 350 -- ARMv8 modules for running under QEMU 351 armv8_modules= [ "/sbin/" ++ f | f <- [ 352 "init", 353 "mem_serv", 354 "monitor", 355 "proc_mgmt", 356 "ramfsd", 357 "spawnd", 358 "startd", 359 "corectrl", 360 "skb", 361 "pci", 362 "memtest", 363 "serial_kernel", 364 "fish", 365 "angler", 366 "kaluga", 367 "acpi" 368 ] ] 369 370 armv7Image target bootTarget cpuTarget physBase modules = 371 let bootDriver = "/sbin/boot_" ++ bootTarget 372 cpuDriver = "/sbin/cpu_" ++ cpuTarget 373 image = "/" ++ target ++ "_image" 374 in Rules [ 375 Rule ([ In BuildTree "tools" "/bin/arm_bootimage", 376 In BuildTree "root" ("/platforms/arm/menu.lst."++target), 377 In BuildTree "armv7" bootDriver, 378 Out "root" image, 379 NoDep BuildTree "root" "/", 380 Str physBase ] ++ 381 [ (Dep BuildTree "armv7" m) | m <- modules ] ++ 382 [ (Dep BuildTree "" m) | m <- modules_generic ] ), 383 384 Rule ([ Str Config.arm_objcopy, 385 Str "-O binary", 386 In BuildTree "root" image, 387 Out "root" (image ++ ".bin") ]), 388 Rule ([ In SrcTree "tools" "/tools/arm_boot/gdb_script.sh", 389 Str Config.arm_objdump, 390 In BuildTree "root" image, 391 In BuildTree "armv7" bootDriver, 392 In BuildTree "armv7" cpuDriver, 393 Out "root" (image ++ "-gdb.gdb") ]) 394 ] 395 in 396 [ 397 -- 398 -- Rules to build assorted platforms 399 -- 400 401 platform "X86_64_Basic" [ "x86_64" ] 402 ([ ("x86_64", f) | f <- modules_x86_64 ] 403 ++ 404 [ ("", f) | f <- modules_generic]) 405 "Basic 64-bit x86 PC build", 406 407 platform "X86_64_Benchmarks" [ "x86_64" ] 408 ([ ("x86_64", f) | f <- modules_x86_64 ++ bench_x86_64] 409 ++ 410 [ ("", f) | f <- modules_generic]) 411 "64-bit x86 PC build with benchmarks", 412 413 platform "X86_64_Full" [ "x86_64" ] 414 ([ ("x86_64", f) | f <- modules_x86_64 ++ bench_x86_64 ++ tests_x86_64 ++ modules_xmpl ] 415 ++ 416 [ ("", f) | f <- modules_generic]) 417 "64-bit x86 PC build with benchmarks and test suites", 418 419 platform "K1OM_Basic" [ "k1om" ] 420 ([ ("k1om", f) | f <- modules_k1om ] 421 ++ 422 [ ("", f) | f <- modules_generic]) 423 "Basic Xeon Phi build", 424 425 platform "K1OM_Benchmarks" [ "k1om" ] 426 ([ ("k1om", f) | f <- modules_k1om ++ bench_k1om] 427 ++ 428 [ ("", f) | f <- modules_generic]) 429 "Xeon Phi build with benchmarks", 430 431 platform "K1OM_Full" [ "k1om" ] 432 ([ ("k1om", f) | f <- modules_k1om ++ bench_k1om ++ tests_k1om ] 433 ++ 434 [ ("", f) | f <- modules_generic]) 435 "Xeon Phi build with benchmarks and test suites", 436 437 platform "FVP" [ "armv8" ] 438 ([ ("armv8", "/sbin/cpu_a57_fvp"), ("armv8", "/sbin/boot_armv8_generic") ] 439 ++ 440 [ ("armv8", f) | f <- armv8_modules ] 441 ++ 442 [ ("", f) | f <- modules_generic]) 443 "ARM Virtual Machine Board with ARM Cortex A57 processors in Fixed Virtual Platform.", 444 445 platform "QEMU" [ "armv8" ] 446 ([ ("armv8", "/sbin/cpu_a57_qemu"), ("armv8", "/sbin/boot_armv8_generic") ] 447 ++ 448 [ ("armv8", f) | f <- armv8_modules ] 449 ++ 450 [ ("", f) | f <- modules_generic]) 451 "ARM Virtual Machine Board with ARM Cortex A57 processors in QEMU.", 452 453 platform "APM88xxxx" [ "armv8" ] 454 ([ ("armv8", "/sbin/cpu_apm88xxxx"), ("armv8", "/sbin/boot_armv8_generic")] 455 ++ 456 [ ("armv8", f) | f <- armv8_modules ] 457 ++ 458 [ ("", f) | f <- modules_generic] 459 ) 460 "The APM XGene development board (Mustang)", 461 462 platform "ThunderX" [ "armv8" ] 463 ([ ("armv8", "/sbin/cpu_cn88xx"), ("armv8", "/sbin/boot_armv8_generic") ] 464 ++ 465 [ ("armv8", f) | f <- armv8_modules ] 466 ++ 467 [ ("", f) | f <- modules_generic] 468 ) 469 "Cavium ThunderX-1 (CN88xx) boards", 470 471 platform "PandaboardES" [ "armv7" ] 472 ([ ("armv7", f) | f <- pandaModules ] ++ 473 [ ("root", "/armv7_omap44xx_image"), 474 ("root", "/armv7_omap44xx_image-gdb.gdb") ]) 475 "Standard Pandaboard ES build image and modules", 476 477 platform "VExpressEMM-A15" [ "armv7" ] 478 ([ ("armv7", f) | f <- vExpressEMMModules_A15 ] ++ 479 [ ("root", "/armv7_a15ve_1_image"), 480 ("root", "/armv7_a15ve_1_image-gdb.gdb"), 481 ("root", "/armv7_a15ve_fvp_1_image"), 482 ("root", "/armv7_a15ve_fvp_1_image-gdb.gdb"), 483 ("root", "/armv7_a15ve_4_image"), 484 ("root", "/armv7_a15ve_4_image-gdb.gdb"), 485 ("root", "/armv7_a15ve_fvp_4_image"), 486 ("root", "/armv7_a15ve_fvp_4_image-gdb.gdb"), 487 ("root", "/armv7_a15ve_gem5_image"), 488 ("root", "/armv7_a15ve_gem5_image-gdb.gdb") ]) 489 "VersatileExpress EMM board with ARM Cortex-A15s", 490 491 platform "VExpressEMM-A15-A7" [ "armv7" ] 492 ([ ("armv7", f) | f <- vExpressEMMModules_A15 ] ++ 493 [ ("root", "/armv7_a15a7ve_image"), 494 ("root", "/armv7_a15a7ve_image-gdb.gdb") ]) 495 "VersatileExpress EMM board with ARM Cortex-A15s and A7s", 496 497 platform "VExpressEMM-A9" [ "armv7" ] 498 ([ ("armv7", f) | f <- vExpressEMMModules_A9 ] ++ 499 [ ("root", "/armv7_a9ve_1_image"), 500 ("root", "/armv7_a9ve_1_image-gdb.gdb"), 501 ("root", "/armv7_a9ve_4_image"), 502 ("root", "/armv7_a9ve_4_image-gdb.gdb") ]) 503 "VersatileExpress EMM board for ARMv7-A Fixed Virtual Platforms", 504 505 platform "Zynq7000" [ "armv7" ] 506 ([ ("armv7", f) | f <- zynq7Modules ] ++ 507 [ ("root", "/armv7_zynq7_image"), 508 ("root", "/armv7_zynq7_image-gdb.gdb") ]) 509 "Xilinx Zynq7000", 510 511 -- 512 -- Rules to build assorted boot images 513 -- 514 515 -- Build the default PandaBoard boot image 516 armv7Image "armv7_omap44xx" "omap44xx" "omap44xx" "0x80000000" pandaModules, 517 518 -- Build the A15 simulation image (VersatileExpress EMM board, 1 core) 519 armv7Image "armv7_a15ve_1" "ve" "a15ve" "0x80000000" vExpressEMMModules_A15, 520 521 -- Build the A15 simulation image (VersatileExpress EMM board, 1 core, FVP 522 -- quirks) 523 armv7Image "armv7_a15ve_fvp_1" "ve" "a15ve" "0x80000000" vExpressEMMModules_A15, 524 525 -- Build the A15 simulation image (VersatileExpress EMM board, 4 cores) 526 armv7Image "armv7_a15ve_4" "ve" "a15ve" "0x80000000" vExpressEMMModules_A15, 527 528 -- Build the A15 simulation image (VersatileExpress EMM board, 4 cores, 529 -- FVP quirks) 530 armv7Image "armv7_a15ve_fvp_4" "ve" "a15ve" "0x80000000" vExpressEMMModules_A15, 531 532 -- Build the A15 simulation image (VersatileExpress EMM board, with GEM5 533 -- quirks) 534 armv7Image "armv7_a15ve_gem5" "ve" "a15ve" "0x80000000" vExpressEMMModules_A15, 535 536 -- Build the big.LITTLE A15/A7 simulation image (VersatileExpress EMM 537 -- board, 4+4 cores) 538 armv7Image "armv7_a15a7ve" "ve" "a15ve" "0x80000000" vExpressEMMModules_A15, 539 540 -- Build the A9 simulation image (VersatileExpress EMM board, 1 core) 541 armv7Image "armv7_a9ve_1" "ve" "a9ve" "0x80000000" vExpressEMMModules_A9, 542 543 -- Build the A9 simulation image (VersatileExpress EMM board, 4 cores) 544 armv7Image "armv7_a9ve_4" "ve" "a9ve" "0x80000000" vExpressEMMModules_A9, 545 546 -- Build the Zynq7000 image 547 armv7Image "armv7_zynq7" "zynq7" "zynq7" "0x00000000" zynq7Modules, 548 549 -- 550 -- Booting: various targets for booting Barrelfish under different circumstances 551 -- 552 553 -- Copy menu.list files across 554 Rules [ copyFile SrcTree "root" ("/hake/menu.lst." ++ p) 555 "root" ("/platforms/arm/menu.lst." ++ p) 556 | p <- [ "armv8_a57v", 557 "armv8_a57v_1", 558 "armv8_apm88xxxx", 559 "armv8_cn88xx", 560 "armv7_a9ve_1", 561 "armv7_a9ve_4", 562 "armv7_a15ve_1", 563 "armv7_a15ve_4", 564 "armv7_a15ve_fvp_1", 565 "armv7_a15ve_fvp_4", 566 "armv7_a15ve_gem5", 567 "armv7_a15a7ve", 568 "armv7_omap44xx", 569 "armv7_zynq7" ]], 570 Rules [ copyFile SrcTree "root" ("/hake/menu.lst." ++ p) 571 "root" ("/platforms/x86/menu.lst." ++ p) 572 | p <- [ "x86_64", "k1om" ] ], 573 574 575 boot "gem5_armv7_vexpressemm" [ "armv7" ] [ 576 In SrcTree "tools" "/tools/arm_gem5/boot_gem5.sh", 577 Str "VExpress_EMM", 578 In BuildTree "root" "/armv7_a15ve_gem5_image" ] 579 "Boot an ARMv7a multicore image on a VersatileExpress EMM board in GEM5", 580 581 boot "FVP_VE_A5x1" [ "armv7" ] [ 582 Str "FVP_VE_Cortex-A5x1", 583 In BuildTree "root" "/armv7_a9ve_1_image" ] 584 "Boot on a single-core Cortex-A5 FVP model", 585 586 boot "FVP_VE_A7x1" [ "armv7" ] [ 587 Str "FVP_VE_Cortex-A7x1", 588 In BuildTree "root" "/armv7_a15ve_fvp_1_image" ] 589 "Boot on a single-core Cortex-A7 FVP model", 590 591 boot "FVP_VE_A9x1" [ "armv7" ] [ 592 Str "FVP_VE_Cortex-A9x1", 593 In BuildTree "root" "/armv7_a9ve_1_image" ] 594 "Boot on a single-core Cortex-A9 FVP model", 595 596 boot "FVP_VE_A9x4" [ "armv7" ] [ 597 Str "FVP_VE_Cortex-A9x4", 598 In BuildTree "root" "/armv7_a9ve_4_image" ] 599 "Boot on a four-core Cortex-A9 FVP model", 600 601 boot "FVP_VE_A15x1" [ "armv7" ] [ 602 Str "FVP_VE_Cortex-A15x1", 603 In BuildTree "root" "/armv7_a15ve_fvp_1_image" ] 604 "Boot on a single-core Cortex-A15 FVP model", 605 606 boot "FVP_VE_A15x4" [ "armv7" ] [ 607 Str "FVP_VE_Cortex-A15x4-A7x4", 608 In BuildTree "root" "/armv7_a15ve_fvp_4_image" ] 609 "Boot on a four-core Cortex-A15 FVP model", 610 611 boot "FVP_VE_A15x4_A7x4" [ "armv7" ] [ 612 Str "FVP_VE_Cortex-A15x4-A7x4", 613 NStr "-a coretile.cluster0.*=", 614 In BuildTree "root" "/armv7_a15a7ve_image", 615 NStr "-a coretile.cluster1.*=", 616 In BuildTree "root" "/armv7_a15a7ve_image", 617 Str "-C", 618 Str "coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3" 619 ] 620 "Boot on a 4+4-core Cortex-A15/A7 FVP model", 621 622 boot "FVP_VE_A17x1" [ "armv7" ] [ 623 Str "FVP_VE_Cortex-A17x1", 624 In BuildTree "root" "/armv7_a15ve_fvp_1_image" ] 625 "Boot on a single-core Cortex-A17 FVP model", 626 627 boot "qemu_a15ve_1" [ "armv7" ] [ 628 In SrcTree "tools" "/tools/qemu-wrapper.sh", 629 Str "--image", In BuildTree "root" "/armv7_a15ve_1_image", 630 Str "--arch", Str "a15ve", 631 Str "--smp", Str "1" ] 632 "Boot QEMU in 32-bit ARM mode emulating a Versatile Express board (1 core)", 633 634 boot "qemu_a15ve_4" [ "armv7" ] [ 635 In SrcTree "tools" "/tools/qemu-wrapper.sh", 636 Str "--image", In BuildTree "root" "/armv7_a15ve_4_image", 637 Str "--arch", Str "a15ve", 638 Str "--smp", Str "4" ] 639 "Boot QEMU in 32-bit ARM mode emulating a Versatile Express board (4 cores)", 640 641 boot "qemu_zynq7" [ "armv7" ] [ 642 In SrcTree "tools" "/tools/qemu-wrapper.sh", 643 Str "--image", In BuildTree "root" "/armv7_zynq7_image", 644 Str "--arch", Str "zynq7" ] 645 "Boot QEMU in 32-bit ARM mode emulating a Zynq 7000", 646 647 boot "qemu_a57v" [ "armv8" ] ([ 648 In SrcTree "tools" "/tools/qemu-wrapper.sh", 649 Str "--menu", In BuildTree "root" "/platforms/arm/menu.lst.armv8_a57v", 650 Str "--arch", Str "armv8", 651 Str "--hagfish", Str Config.hagfish_location ] 652 ++ [(Dep BuildTree "armv8" f) | f <- armv8_modules ] 653 ++ [(Dep BuildTree "armv8" "/sbin/cpu_a57v")] 654 ++ [(Dep BuildTree "armv8" "/sbin/boot_armv8_generic")] 655 ++ [(Dep BuildTree "" f) | f <- modules_generic ]) 656 "Boot QEMU in 64-bit ARM mode emulating a ARM Virtual Machine", 657 658 boot "qemu_a57v_debug" [ "armv8" ] ([ 659 In SrcTree "tools" "/tools/qemu-wrapper.sh", 660 Str "--menu", In BuildTree "root" "/platforms/arm/menu.lst.armv8_a57v", 661 Str "--arch", Str "armv8", 662 Str "--hagfish", Str Config.hagfish_location, 663 Str "--debug", In SrcTree "tools" "/tools/debug.armv8.gdb" ] 664 ++ [(Dep BuildTree "armv8" f) | f <- armv8_modules ] 665 ++ [(Dep BuildTree "armv8" "/sbin/cpu_a57v")] 666 ++ [(Dep BuildTree "armv8" "/sbin/boot_armv8_generic")] 667 ++ [(Dep BuildTree "" f) | f <- modules_generic ]) 668 "Boot QEMU in 64-bit ARM mode emulating a ARM Virtual Machine", 669 670 boot "qemu_x86_64" [ "x86_64" ] ([ 671 In SrcTree "tools" "/tools/qemu-wrapper.sh", 672 Str "--menu", In BuildTree "root" "/platforms/x86/menu.lst.x86_64", 673 Str "--arch", Str "x86_64" ] ++ [ 674 (Dep BuildTree "x86_64" f) | f <- modules_x86_64 ] ++ [ 675 (Dep BuildTree "" f) | f <- modules_generic ]) 676 "Boot QEMU in 64-bit x86 mode emulating a PC", 677 678 boot "qemu_x86_64_debug" [ "x86_64" ] ([ 679 In SrcTree "tools" "/tools/qemu-wrapper.sh", 680 Str "--menu", In BuildTree "root" "/platforms/x86/menu.lst.x86_64", 681 Str "--arch", Str "x86_64", 682 Str "--debug", In SrcTree "tools" "/tools/debug.gdb" ] ++ [ 683 (Dep BuildTree "x86_64" f) | f <- modules_x86_64 ] ++ [ 684 (Dep BuildTree "" f) | f <- modules_generic ]) 685 "Boot QEMU under GDB in 64-bit x86 mode emulating a PC", 686 687 boot "usbboot_panda" [ "armv7" ] [ 688 In BuildTree "tools" "/bin/usbboot", 689 In BuildTree "root" "/armv7_omap44xx_image" 690 ] 691 "Boot Barrelfish on a Pandaboard, over a local USB cable" 692 693 ] 694