xvisor_%.bbappend 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. XVISOR_PLAT_BASE = "`basename ${XVISOR_PLAT}`"
  2. do_compile[depends] += "virtual/kernel:do_deploy"
  3. xvisor_image_compile() {
  4. ## Create the basic firmware image ##
  5. cd ${S}/tests/${XVISOR_PLAT}/basic
  6. oe_runmake
  7. dtc -I dts -O dtb -o ${B}/build/tests/${XVISOR_PLAT}/${XVISOR_PLAT_BASE}-guest.dtb ${S}/tests/${XVISOR_PLAT}/${XVISOR_PLAT_BASE}-guest.dts
  8. rm -f ${B}/vmm-disk-basic.img
  9. mkfs.vfat -F 32 -S 512 -n VMM-BASIC-IMAGE -C ${B}/vmm-disk-basic.img 40960
  10. mmd -i ${B}/vmm-disk-basic.img ::system
  11. mcopy -i ${B}/vmm-disk-basic.img ${S}/docs/banner/roman.txt ::system/banner.txt
  12. mcopy -i ${B}/vmm-disk-basic.img ${S}/docs/logo/xvisor_logo_name.ppm ::system/logo.ppm
  13. mmd -i ${B}/vmm-disk-basic.img ::images
  14. mmd -i ${B}/vmm-disk-basic.img ::images/riscv
  15. mmd -i ${B}/vmm-disk-basic.img ::images/${XVISOR_PLAT}
  16. mcopy -i ${B}/vmm-disk-basic.img ${B}/build/tests/${XVISOR_PLAT}/${XVISOR_PLAT_BASE}-guest.dtb ::images/${XVISOR_PLAT}-guest.dtb
  17. mcopy -i ${B}/vmm-disk-basic.img ${B}/build/tests/${XVISOR_PLAT}/basic/firmware.bin ::images/${XVISOR_PLAT}/firmware.bin
  18. mcopy -i ${B}/vmm-disk-basic.img ${S}/tests/${XVISOR_PLAT}/basic/nor_flash.list ::images/${XVISOR_PLAT}/nor_flash.list
  19. mcopy -i ${B}/vmm-disk-basic.img ${S}/tests/${XVISOR_PLAT}/xscript/one_guest_${XVISOR_PLAT_BASE}.xscript ::boot.xscript
  20. ## Create the Linux firmware image ##
  21. install -d ${B}/build/tests/${XVISOR_PLAT}/linux
  22. dtc -I dts -O dtb -o ${B}/build/tests/${XVISOR_PLAT}/linux/${XVISOR_PLAT_BASE}.dtb ${S}/tests/${XVISOR_PLAT}/linux/${XVISOR_PLAT_BASE}.dts
  23. rm -f ${B}/vmm-disk-linux.img
  24. mkfs.vfat -F 32 -S 512 -n VMM-LINUX-IMAGE -C ${B}/vmm-disk-linux.img 81920
  25. mmd -i ${B}/vmm-disk-linux.img ::system
  26. mcopy -i ${B}/vmm-disk-linux.img ${S}/docs/banner/roman.txt ::system/banner.txt
  27. mcopy -i ${B}/vmm-disk-linux.img ${S}/docs/logo/xvisor_logo_name.ppm ::system/logo.ppm
  28. mmd -i ${B}/vmm-disk-linux.img ::images
  29. mmd -i ${B}/vmm-disk-linux.img ::images/riscv
  30. mmd -i ${B}/vmm-disk-linux.img ::images/${XVISOR_PLAT}
  31. mcopy -i ${B}/vmm-disk-linux.img ${B}/build/tests/${XVISOR_PLAT}/${XVISOR_PLAT_BASE}-guest.dtb ::images/${XVISOR_PLAT}-guest.dtb
  32. mcopy -i ${B}/vmm-disk-linux.img ${B}/build/tests/${XVISOR_PLAT}/basic/firmware.bin ::images/${XVISOR_PLAT}/firmware.bin
  33. mcopy -i ${B}/vmm-disk-linux.img ${S}/tests/${XVISOR_PLAT}/linux/nor_flash.list ::images/${XVISOR_PLAT}/nor_flash.list
  34. mcopy -i ${B}/vmm-disk-linux.img ${S}/tests/${XVISOR_PLAT}/linux/cmdlist ::images/${XVISOR_PLAT}/cmdlist
  35. mcopy -i ${B}/vmm-disk-linux.img ${S}/tests/${XVISOR_PLAT}/xscript/two_guest_${XVISOR_PLAT_BASE}.xscript ::boot.xscript
  36. mcopy -i ${B}/vmm-disk-linux.img ${DEPLOY_DIR_IMAGE}/Image ::images/${XVISOR_PLAT}/Image
  37. mcopy -i ${B}/vmm-disk-linux.img /scratch/alistair/software/tier4/buildroot-images/riscv64-rootfs.cpio ::images/${XVISOR_PLAT}/rootfs.img
  38. mcopy -i ${B}/vmm-disk-linux.img ${B}/build/tests/${XVISOR_PLAT}/linux/${XVISOR_PLAT_BASE}.dtb ::images/${XVISOR_PLAT}/${XVISOR_PLAT_BASE}.dtb
  39. }
  40. do_compile_append_riscv32() {
  41. xvisor_image_compile
  42. }
  43. do_compile_append_riscv64() {
  44. xvisor_image_compile
  45. }
  46. do_install_append_riscv32() {
  47. install -d ${D}
  48. install -m 755 ${B}/vmm-disk-basic.img ${D}/
  49. install -m 755 ${B}/vmm-disk-linux.img ${D}/
  50. }
  51. do_install_append_riscv64() {
  52. install -d ${D}
  53. install -m 755 ${B}/vmm-disk-basic.img ${D}/
  54. install -m 755 ${B}/vmm-disk-linux.img ${D}/
  55. }
  56. do_deploy_append_riscv32() {
  57. install -m 755 ${D}/vmm-disk-basic.img ${DEPLOY_DIR_IMAGE}
  58. install -m 755 ${D}/vmm-disk-linux.img ${DEPLOY_DIR_IMAGE}
  59. }
  60. do_deploy_append_riscv64() {
  61. install -m 755 ${D}/vmm-disk-basic.img ${DEPLOY_DIR_IMAGE}
  62. install -m 755 ${D}/vmm-disk-linux.img ${DEPLOY_DIR_IMAGE}
  63. }
  64. FILES_${PN}_riscv32 += "/vmm.*"
  65. FILES_${PN}_riscv32 += "/vmm-disk-basic.img"
  66. FILES_${PN}_riscv32 += "/vmm-disk-linux.img"
  67. FILES_${PN}_riscv64 += "/vmm.*"
  68. FILES_${PN}_riscv64 += "/vmm-disk-basic.img"
  69. FILES_${PN}_riscv64 += "/vmm-disk-linux.img"