From 14b69dcde0dfbb72df721424571d07cdf3dcbf05 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 3 May 2019 21:00:17 +0200 Subject: libmach: initial arm64 support --- sys/src/libmach/executable.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'sys/src/libmach/executable.c') diff --git a/sys/src/libmach/executable.c b/sys/src/libmach/executable.c index 794dc7ef3..46b1a07d7 100644 --- a/sys/src/libmach/executable.c +++ b/sys/src/libmach/executable.c @@ -66,6 +66,7 @@ extern Mach m68020; extern Mach mi386; extern Mach mamd64; extern Mach marm; +extern Mach marm64; extern Mach mpower; extern Mach mpower64; @@ -233,6 +234,15 @@ ExecTable exectab[] = sizeof(Exec), leswal, armdotout }, + { R_MAGIC, /* Arm64 7.out and boot image */ + "arm64 plan 9 executable", + "arm64 plan 9 dlm", + FARM64, + 1, + &marm64, + sizeof(Exec)+8, + nil, + commonllp64 }, { 0 }, }; @@ -375,6 +385,12 @@ commonboot(Fhdr *fp) fp->name = "ARM plan 9 boot image"; fp->dataddr = _round(fp->txtaddr+fp->txtsz, mach->pgsize); return; + case FARM64: + fp->type = FARM64B; + fp->txtaddr = fp->entry; + fp->name = "arm64 plan 9 boot image"; + fp->dataddr = _round(fp->txtaddr+fp->txtsz, mach->pgsize); + return; case FPOWER: fp->type = FPOWERB; fp->txtaddr = (u32int)fp->entry; -- cgit v1.2.3