Skip to content

Commit 5cf9f8e

Browse files
committed
Add LoongArch64 support
1 parent 3092b39 commit 5cf9f8e

File tree

11 files changed

+11123
-5
lines changed

11 files changed

+11123
-5
lines changed

gen/ioctl/generate.sh

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ i686-linux-gnu-gcc main.c list.o -o main.exe $cflags
2323
x86_64-linux-gnu-gcc -Iinclude -c list.c $cflags
2424
x86_64-linux-gnu-gcc main.c list.o -o main.exe $cflags
2525
./main.exe >> "$out"
26+
loongarch64-unknown-linux-gnu-gcc -Iinclude -c list.c $cflags
27+
loongarch64-unknown-linux-gnu-gcc main.c list.o -o main.exe $cflags
28+
./main.exe >> "$out"
2629
aarch64-linux-gnu-gcc -Iinclude -c list.c $cflags
2730
aarch64-linux-gnu-gcc main.c list.o -o main.exe $cflags
2831
qemu-aarch64 -L /usr/aarch64-linux-gnu ./main.exe >> "$out"
@@ -41,5 +44,4 @@ qemu-mipsel -L /usr/mipsel-linux-gnu ./main.exe >> "$out"
4144
riscv64-linux-gnu-gcc -Iinclude -c list.c $cflags
4245
riscv64-linux-gnu-gcc main.c list.o -o main.exe $cflags
4346
qemu-riscv64 -L /usr/riscv64-linux-gnu ./main.exe >> "$out"
44-
4547
rm list.o main.exe

gen/ioctl/generated.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,6 @@ UDF_GETEASIZE
537537
NVME_IOCTL_ADMIN64_CMD
538538
VHOST_SET_OWNER
539539
RIO_ALLOC_DMA
540-
F2FS_IOC_ABORT_VOLATILE_WRITE
541540
RIO_CM_CHAN_ACCEPT
542541
I2OHRTGET
543542
ATM_SETCIRANGE
@@ -1426,6 +1425,7 @@ HIDIOCGREPORTINFO
14261425
WDIOC_GETBOOTSTATUS
14271426
VDUSE_VQ_GET_INFO
14281427
ACRN_IOCTL_ASSIGN_PCIDEV
1428+
BLKGETDISKSEQ
14291429
ACRN_IOCTL_PM_GET_CPU_STATE
14301430
ACRN_IOCTL_DESTROY_VM
14311431
ACRN_IOCTL_SET_PTDEV_INTR

gen/ioctl/list.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ struct sockaddr {
9595
#include <linux/joystick.h>
9696
#include <linux/kd.h>
9797
#include <linux/kcov.h>
98-
#if !defined(__arm__) && !defined(__powerpc64__) && !defined(__riscv) // various errors
98+
#if !defined(__arm__) && !defined(__loongarch64) && !defined(__powerpc64__) && !defined(__riscv) // various errors
9999
#include <linux/kvm.h>
100100
#endif
101101
#include <linux/lirc.h>
@@ -493,7 +493,7 @@ void list(void) {
493493
IOCTL_REQUEST(ENI_SETMULT);
494494
IOCTL_REQUEST(RIO_GET_EVENT_MASK);
495495
IOCTL_REQUEST(LIRC_GET_MAX_TIMEOUT);
496-
#if !defined(__arm__) && !defined(__powerpc64__) && !defined(__riscv)
496+
#if !defined(__arm__) && !defined(__loongarch64) && !defined(__powerpc64__) && !defined(__riscv)
497497
#if 0 // needs `struct kvm_cpuid2`
498498
IOCTL_REQUEST(KVM_GET_SUPPORTED_CPUID);
499499
#endif
@@ -1037,7 +1037,9 @@ void list(void) {
10371037
IOCTL_REQUEST(NVME_IOCTL_ADMIN64_CMD);
10381038
IOCTL_REQUEST(VHOST_SET_OWNER);
10391039
IOCTL_REQUEST(RIO_ALLOC_DMA);
1040+
#if !defined(__loongarch64)
10401041
IOCTL_REQUEST(F2FS_IOC_ABORT_VOLATILE_WRITE);
1042+
#endif
10411043
IOCTL_REQUEST(RIO_CM_CHAN_ACCEPT);
10421044
IOCTL_REQUEST(I2OHRTGET);
10431045
IOCTL_REQUEST(ATM_SETCIRANGE);

gen/ioctl/main.c

+2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ int main(void) {
4141
printf("#if __mips == 64\n");
4242
#elif defined(__riscv) && __riscv_xlen == 64
4343
printf("#if defined(__riscv) && __riscv_xlen == 64\n");
44+
#elif defined(__loongarch64)
45+
printf("#ifdef __loongarch64\n");
4446
#else
4547
#error "unimplemented architecture"
4648
#endif

0 commit comments

Comments
 (0)