From owner-dev-commits-src-main@freebsd.org Wed Dec 23 14:13:34 2020 Return-Path: Delivered-To: dev-commits-src-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2BE694C0337; Wed, 23 Dec 2020 14:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1FYV0pTPz4vrQ; Wed, 23 Dec 2020 14:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0EC6D1F759; Wed, 23 Dec 2020 14:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BNEDXle016591; Wed, 23 Dec 2020 14:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BNEDXe0016590; Wed, 23 Dec 2020 14:13:33 GMT (envelope-from git) Date: Wed, 23 Dec 2020 14:13:33 GMT Message-Id: <202012231413.0BNEDXe0016590@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: edb48ff6e736 - Mark all arm64 locore functions with ENTRY/LENTRY MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: edb48ff6e736ca39eb5b9db7dab4e43fefe387a0 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the main branch of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2020 14:13:34 -0000 The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=edb48ff6e736ca39eb5b9db7dab4e43fefe387a0 commit edb48ff6e736ca39eb5b9db7dab4e43fefe387a0 Author: Andrew Turner AuthorDate: 2020-12-23 13:24:52 +0000 Commit: Andrew Turner CommitDate: 2020-12-23 13:57:25 +0000 Mark all arm64 locore functions with ENTRY/LENTRY It is useful to know where these are within the code, and will be needed by later changes. Sponsored by: Innovate UK --- sys/arm64/arm64/locore.S | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 6735ffe8900b..20a0379a9aa1 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -67,9 +67,7 @@ * We are loaded at a 2MiB aligned address */ - .text - .globl _start -_start: +ENTRY(_start) #if defined(LINUX_BOOT_ABI) /* U-boot image header */ b 1f /* code 0 */ @@ -190,6 +188,7 @@ virtdone: .quad __bss_start .Lend: .quad __bss_end +END(_start) #ifdef SMP /* @@ -249,7 +248,7 @@ END(mpentry) * If we are started in EL2, configure the required hypervisor * registers and drop to EL1. */ -drop_to_el1: +LENTRY(drop_to_el1) mrs x23, CurrentEL lsr x23, x23, #2 cmp x23, #0x2 @@ -318,6 +317,7 @@ drop_to_el1: .align 3 .Lsctlr_res1: .quad SCTLR_RES1 +LEND(drop_to_el1) #define VECT_EMPTY \ .align 7; \ @@ -350,7 +350,7 @@ hyp_vectors: * virtual address we expect to run from. This is used when building the * initial page table. */ -get_virt_delta: +LENTRY(get_virt_delta) /* Load the physical address of virt_map */ adrp x29, virt_map add x29, x29, :lo12:virt_map @@ -366,6 +366,7 @@ get_virt_delta: .align 3 virt_map: .quad virt_map +LEND(get_virt_delta) /* * This builds the page tables containing the identity map, and the kernel @@ -386,7 +387,7 @@ virt_map: * - The identity (PA = VA) L0 table (TTBR0) * - The DMAP L1 tables */ -create_pagetables: +LENTRY(create_pagetables) /* Save the Link register */ mov x5, x30 @@ -538,6 +539,7 @@ common: /* Restore the Link register */ mov x30, x5 ret +LEND(create_pagetables) /* * Builds an L0 -> L1 table descriptor @@ -551,7 +553,7 @@ common: * x10 = Entry count * x11, x12 and x13 are trashed */ -link_l0_pagetable: +LENTRY(link_l0_pagetable) /* * Link an L0 -> L1 table entry. */ @@ -575,6 +577,7 @@ link_l0_pagetable: cbnz x10, 1b ret +LEND(link_l0_pagetable) /* * Builds an L1 -> L2 table descriptor @@ -587,7 +590,7 @@ link_l0_pagetable: * x9 = L2 PA (trashed) * x11, x12 and x13 are trashed */ -link_l1_pagetable: +LENTRY(link_l1_pagetable) /* * Link an L1 -> L2 table entry. */ @@ -606,6 +609,7 @@ link_l1_pagetable: str x13, [x6, x11, lsl #3] ret +LEND(link_l1_pagetable) /* * Builds count 1 GiB page table entry @@ -616,7 +620,7 @@ link_l1_pagetable: * x10 = Entry count * x11, x12 and x13 are trashed */ -build_l1_block_pagetable: +LENTRY(build_l1_block_pagetable) /* * Build the L1 table entry. */ @@ -643,6 +647,7 @@ build_l1_block_pagetable: cbnz x10, 1b ret +LEND(build_l1_block_pagetable) /* * Builds count 2 MiB page table entry @@ -653,7 +658,7 @@ build_l1_block_pagetable: * x10 = Entry count * x11, x12 and x13 are trashed */ -build_l2_block_pagetable: +LENTRY(build_l2_block_pagetable) /* * Build the L2 table entry. */ @@ -682,8 +687,9 @@ build_l2_block_pagetable: cbnz x10, 1b ret +LEND(build_l2_block_pagetable) -start_mmu: +LENTRY(start_mmu) dsb sy /* Load the exception vectors */ @@ -775,10 +781,11 @@ sctlr_clear: /* Bits to clear */ .quad (SCTLR_EE | SCTLR_EOE | SCTLR_IESB | SCTLR_WXN | SCTLR_UMA | \ SCTLR_ITD | SCTLR_A) +LEND(start_mmu) - .globl abort -abort: +ENTRY(abort) b abort +END(abort) .align 3 init_pt_va: