services: qemu-binfmt: Add more targets.
* gnu/services/virtualization.scm (%i486, %sparc64, %aarch64be, %xtensa, %xtensaeb, %microblaze, %microblazeel, %or1k, %hexagon, %loongson64): New variables. (%armeb): Correct family field. (%qemu-platforms): Add them.
This commit is contained in:
		
							parent
							
								
									f66344ed81
								
							
						
					
					
						commit
						0584f5b489
					
				
					 1 changed files with 90 additions and 18 deletions
				
			
		|  | @ -5,6 +5,7 @@ | |||
| ;;; Copyright © 2021 Timotej Lazar <timotej.lazar@araneo.si> | ||||
| ;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com> | ||||
| ;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la> | ||||
| ;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -612,6 +613,13 @@ used to manage logs from @acronym{VM, virtual machine} consoles."))) | |||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %i486 | ||||
|   (qemu-platform | ||||
|    (name "i486") | ||||
|    (family "i386") | ||||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %x86_64 | ||||
|   (qemu-platform | ||||
|    (name "x86_64") | ||||
|  | @ -636,7 +644,7 @@ used to manage logs from @acronym{VM, virtual machine} consoles."))) | |||
| (define %armeb | ||||
|   (qemu-platform | ||||
|    (name "armeb") | ||||
|    (family "arm") | ||||
|    (family "armeb") | ||||
|    (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
|  | @ -654,6 +662,13 @@ used to manage logs from @acronym{VM, virtual machine} consoles."))) | |||
|    (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
| (define %sparc64 | ||||
|   (qemu-platform | ||||
|    (name "sparc64") | ||||
|    (family "sparc") | ||||
|    (magic (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
| (define %ppc | ||||
|   (qemu-platform | ||||
|    (name "ppc") | ||||
|  | @ -725,20 +740,6 @@ used to manage logs from @acronym{VM, virtual machine} consoles."))) | |||
|    (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %riscv32 | ||||
|   (qemu-platform | ||||
|    (name "riscv32") | ||||
|    (family "riscv") | ||||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %riscv64 | ||||
|   (qemu-platform | ||||
|    (name "riscv64") | ||||
|    (family "riscv") | ||||
|    (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %sh4 | ||||
|   (qemu-platform | ||||
|    (name "sh4") | ||||
|  | @ -767,6 +768,13 @@ used to manage logs from @acronym{VM, virtual machine} consoles."))) | |||
|    (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %aarch64be | ||||
|   (qemu-platform | ||||
|    (name "aarch64be") | ||||
|    (family "armeb") | ||||
|    (magic (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
| (define %hppa | ||||
|   (qemu-platform | ||||
|    (name "hppa") | ||||
|  | @ -774,10 +782,74 @@ used to manage logs from @acronym{VM, virtual machine} consoles."))) | |||
|    (magic (bv "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
| (define %riscv32 | ||||
|   (qemu-platform | ||||
|    (name "riscv32") | ||||
|    (family "riscv") | ||||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %riscv64 | ||||
|   (qemu-platform | ||||
|    (name "riscv64") | ||||
|    (family "riscv") | ||||
|    (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %xtensa | ||||
|   (qemu-platform | ||||
|    (name "xtensa") | ||||
|    (family "xtensa") | ||||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %xtensaeb | ||||
|   (qemu-platform | ||||
|    (name "xtensaeb") | ||||
|    (family "xtensaeb") | ||||
|    (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
| (define %microblaze | ||||
|   (qemu-platform | ||||
|    (name "microblaze") | ||||
|    (family "microblaze") | ||||
|    (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xba\xab")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %microblazeel | ||||
|   (qemu-platform | ||||
|    (name "microblazeel") | ||||
|    (family "microblazeel") | ||||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xab\xba")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %or1k | ||||
|   (qemu-platform | ||||
|    (name "or1k") | ||||
|    (family "or1k") | ||||
|    (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5c")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) | ||||
| 
 | ||||
| (define %hexagon | ||||
|   (qemu-platform | ||||
|    (name "hexagon") | ||||
|    (family "hexagon") | ||||
|    (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xa4\x00")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %loongarch64 | ||||
|   (qemu-platform | ||||
|    (name "loongarch64") | ||||
|    (family "loongarch") | ||||
|    (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01")) | ||||
|    (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xfc\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) | ||||
| 
 | ||||
| (define %qemu-platforms | ||||
|   (list %i386 %x86_64 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k | ||||
|         %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el | ||||
|         %riscv32 %riscv64 %sh4 %sh4eb %s390x %aarch64 %hppa)) | ||||
|   (list %i386 %i486 %x86_64 %alpha %arm %sparc32plus %sparc64 %ppc %ppc64 | ||||
|         %ppc64le %m68k %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el %sh4 | ||||
|         %sh4eb %s390x %aarch64 %aarch64be %hppa %riscv32 %riscv64 %xtensa | ||||
|         %xtensaeb %microblaze %microblazeel %or1k %hexagon %loongarch64)) | ||||
| 
 | ||||
| (define (lookup-qemu-platforms . names) | ||||
|   "Return the list of QEMU platforms that match NAMES--a list of names such as | ||||
|  |  | |||
		Reference in a new issue