arm64

ARM AArch64 stack management

﹥>﹥吖頭↗ 提交于 2021-02-05 08:06:53
问题 Is there no ability to have a 64 bit stack for ARMv8? I understand there is no push and pop instructions on AArch64 so is stack management left to AArch32 for parameter passing and such? How can we pass the 48 bit addresses? I'm overall confused how function calls will work when operating in AArch64. 回答1: Much like in 32-bit * , SP is a valid base register for any load/store instruction, so the mechanics aren't all that different. What is different is that SP is no longer a general-purpose

ARM AArch64 stack management

[亡魂溺海] 提交于 2021-02-05 08:06:25
问题 Is there no ability to have a 64 bit stack for ARMv8? I understand there is no push and pop instructions on AArch64 so is stack management left to AArch32 for parameter passing and such? How can we pass the 48 bit addresses? I'm overall confused how function calls will work when operating in AArch64. 回答1: Much like in 32-bit * , SP is a valid base register for any load/store instruction, so the mechanics aren't all that different. What is different is that SP is no longer a general-purpose

Android Studio 64 bit inline ARM assembly

自作多情 提交于 2021-01-29 20:00:54
问题 I am trying to run some inline assembly code for aarch64 from Android Studio 3.4.2 and I got a compilation error error: Don't know how to handle indirect register inputs yet for constraint 'r' . My code snippet as follows std::string system_file = "/system/bin/sh"; std::int64_t file_descriptor = -1; #ifdef __aarch64__ __asm__ volatile("mov x8, #180\n\t" "mov x0, %1\n\t" "mov x1, #0\n\t" "svc #1\n\t" "mov %0, x0\n\t" :"=r"(file_descriptor) :"r"(system_file) :"x0","x1","x8" ); #endif ARM64

Building multi-architecture docker images with Skaffold

家住魔仙堡 提交于 2021-01-29 17:12:11
问题 I've been able to get two awesome technologies to work independently. Skaffold BuildX Unfortunatly I don't know how to use them both at the same time. I'm currently building and testing on my laptop (amd), then deploying to a Raspberri Pi 4 (arm64) running Kubernetes. To get this working I use something like: docker buildx build --platform linux/amd64,linux/arm64 --tag my-registry/my-image:latest --push . Before attempting to target an arm I was using skaffold. Is there any way to continue to

ARM64 - Linux Memory Write protection won't disable

喜你入骨 提交于 2021-01-28 09:51:53
问题 i'm trying to disable the Memory Write protection on an ARM64 system from within an LKM. (Startet in the DOM0 of the Xen hypervisor) I found the corresponding PTE to an virtual address by using the Linux Kernel Functions. pgd_t *pgd; pte_t *ptep, pte; pud_t *pud; pmd_t *pmd; pgd = pgd_offset(init_mm, (addr)); if (pgd_none(*pgd) || pgd_bad(*pgd)) goto out; printk(KERN_NOTICE "Valid pgd 0x%lx\n",pgd); pud = pud_offset(pgd, addr); if (pud_none(*pud) || pud_bad(*pud)) goto out; printk(KERN_NOTICE

ARM64上的Docker编译与安装

放肆的年华 提交于 2020-12-06 03:13:43
ARM64已经成为手机上的主流,而且开始进入服务器领域(中国的全志、辉腾等芯片也都是ARM架构),很多开发板也相继推出。为了充分发挥其能力,我希望能在上面运行Docker。但是,目前虽然ARM32上面已经有多个Docker移植版本,但是ARM64上找不到现成的(96Boards的系统包含的Docker无法使用),需要自己编译(Docker官网已经包含编译支持)。下面是一些找到的资源,先抓下来,后面再慢慢测试。 https://github.com/DieterReuter/arm64-docker-builder https://github.com/DieterReuter/arm-docker-fixes https://github.com/96boards/documentation/blob/master/ConsumerEdition/CE-Extras/DockerCE.md https://github.com/docker/docker/commit/66d24c2b44a076a6dda17dabe028da9acaa55deb http://blog.hypriot.com/post/getting-docker-running-on-a-highend-arm-gaming-console-for-fun-and-profit/ 在96Board上编译,注意