The NetBSD Project

CVS log for src/sys/arch/aarch64/aarch64/pmapboot.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / aarch64 / aarch64

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.19 / (download) - annotate - [select for diffs], Wed Feb 7 04:20:26 2024 UTC (2 months ago) by msaitoh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Remove ryo@'s mail addresses.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Aug 3 17:55:05 2022 UTC (20 months, 1 week ago) by ryo
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.17: +6 -3 lines
Diff to previous 1.17 (colored)

fix build with options PMAPBOOT_DEBUG and options DDB

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Thu May 13 00:47:20 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Sync with HEAD.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Apr 30 20:07:22 2021 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

Make the ddb for pmap / pte information pmap agnostic

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:13 2021 UTC (3 years ago) by thorpej
Branch: thorpej-futex
Changes since 1.10.2.1: +19 -20 lines
Diff to previous 1.10.2.1 (colored) next main 1.11 (colored)

Sync with HEAD.

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 21:44:40 2021 UTC (3 years ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.15: +17 -18 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync with HEAD.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Mar 20 14:30:50 2021 UTC (3 years ago) by skrll
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-cfargs-base
Branch point for: thorpej-i2c-spi-conf
Changes since 1.15: +17 -18 lines
Diff to previous 1.15 (colored)

Make pmapboot_enter panic if anything goes wrong and any mappings overlap
rather than only doing it in locore.S

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jan 9 13:42:25 2021 UTC (3 years, 3 months ago) by jmcneill
Branch: MAIN
Branch point for: thorpej-cfargs
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (colored)

Fix a potential issue in pmapboot_enter_range and pmapboot_enter where
if the va and size are not page aligned, there is a possibility of the
last page not being taken into consideration.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:37:44 2020 UTC (3 years, 3 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.10: +21 -10 lines
Diff to previous 1.10 (colored)

Sync w/ HEAD.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Dec 11 18:03:33 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.13: +4 -3 lines
Diff to previous 1.13 (colored)

s:aarch64/cpufunc.h:arm/cpufunc.h:

a baby step in the grand arm header unification challenge

Revision 1.13 / (download) - annotate - [select for diffs], Fri Dec 4 08:24:41 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.12: +6 -2 lines
Diff to previous 1.12 (colored)

Ensure translation table updates are visible to the hardware walker(s)
in pmapboot_enter.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Nov 10 07:51:19 2020 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

AA64 is not MIPS.

Change all KSEG references to directmap

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Mon Nov 9 11:47:15 2020 UTC (3 years, 5 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE
Changes since 1.4: +15 -9 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Pull up following revision(s) (requested by skrll in ticket #1128):

	sys/arch/aarch64/aarch64/pmapboot.c: revision 1.11

Fix the use of the contiguous bit by checking the output address as well.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Nov 7 08:48:11 2020 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.10: +15 -9 lines
Diff to previous 1.10 (colored)

Fix the use of the contiguous bit by checking the output address as well.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jul 17 07:21:44 2020 UTC (3 years, 8 months ago) by ryo
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.9: +11 -7 lines
Diff to previous 1.9 (colored)

KNF. 80 cols, use tab.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jul 17 07:16:10 2020 UTC (3 years, 8 months ago) by ryo
Branch: MAIN
Changes since 1.8: +34 -28 lines
Diff to previous 1.8 (colored)

Add options PMAPBOOT_DEBUG to dump TTBR when pmapboot_enter().
Formerly DEBUG_MMU in locore.S, but there was a bit of confusion.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jul 16 11:36:35 2020 UTC (3 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.7: +54 -48 lines
Diff to previous 1.7 (colored)

pmapboot_enter simplication
- bootpage_alloc in asm becomes pmapboot_pagealloc in C
- PMAPBOOT_ENTER_NOBLOCK is removed as it's not used
- PMAPBOOT_ENTER_NOOVERWRITE is removed as it's now always on
- physpage_allocator argument is removed as it's always
  pmapboot_pagealloc
- Support for EARLYCONS without CONSADDR is removed so that the identity
  map for CONSADDR is always known.

For the assembly files:
 2 files changed, 40 insertions(+), 89 deletions(-)

LGTM ryo

Revision 1.3.4.5 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:02 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.3.4.4: +3 -0 lines
Diff to previous 1.3.4.4 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Sync with HEAD

Revision 1.6.4.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:28:50 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.6: +5 -2 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with HEAD

Revision 1.3.4.4 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:27 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.3.4.3: +13 -13 lines
Diff to previous 1.3.4.3 (colored) to branchpoint 1.3 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.7 / (download) - annotate - [select for diffs], Mon Apr 13 05:40:25 2020 UTC (4 years ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.6: +5 -2 lines
Diff to previous 1.6 (colored)

Add support for Branch Target Identification (BTI).

On the executable pages that have the GP (Guarded Page) bit, the semantic
of the "br" and "blr" instructions is changed: the CPU expects the first
instruction of the jump/call target to be "bti", and faults if it isn't.

We add the GP bit on the kernel .text pages (and incidentally the .rodata
pages, but we don't care). The compiler adds a "bti c" instruction at the
beginning of each C function. We modify the ENTRY() macros to manually add
"bti c" in the asm functions.

cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j",
which is bad because the functions begin with "bti c"; switch to "br x16",
for the CPU to accept "bti c".

BTI helps defend against JOP/COP. Tested on Qemu.

Revision 1.3.4.3 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:23 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.3.4.2: +111 -25 lines
Diff to previous 1.3.4.2 (colored) to branchpoint 1.3 (colored)

Merge changes from current as of 20200406

Revision 1.6 / (download) - annotate - [select for diffs], Sat Feb 29 21:34:37 2020 UTC (4 years, 1 month ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.5: +31 -25 lines
Diff to previous 1.5 (colored)

Fix pmap to work correctly with tagged addresses

- when fault, untag from address before passing to uvm/pmap functions
- pmap_extract() checks more strictly and consider the address tag

Revision 1.5 / (download) - annotate - [select for diffs], Sat Feb 29 21:09:11 2020 UTC (4 years, 1 month ago) by ryo
Branch: MAIN
Changes since 1.4: +82 -2 lines
Diff to previous 1.4 (colored)

replace KSEG pages mapping code with generic function pmapboot_enter_range()

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jul 18 06:47:36 2019 UTC (4 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20191119, netbsd-9-base, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: netbsd-9
Changes since 1.3: +15 -15 lines
Diff to previous 1.3 (colored)

Simplify conditionals when clearing the CONTIG flag in pmapboot_enter and
update the comments to be a little clearer.

Revision 1.3.4.2 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:43 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.3.4.1: +424 -0 lines
Diff to previous 1.3.4.1 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:13 2019 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.2.2.2: +4 -2 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Synch with HEAD

Revision 1.3.4.1, Sat Dec 29 19:53:38 2018 UTC (5 years, 3 months ago) by christos
Branch: phil-wifi
Changes since 1.3: +0 -424 lines
FILE REMOVED

file pmapboot.c was added on branch phil-wifi on 2019-06-10 22:05:43 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Sat Dec 29 19:53:38 2018 UTC (5 years, 3 months ago) by alnsn
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.2: +4 -2 lines
Diff to previous 1.2 (colored)

pmapboot_pte_print() is only used when VERBOSE_INIT_ARM is defined.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:23 2018 UTC (5 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.2.2.1: +422 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored)

Sync with head

Revision 1.2.2.1, Fri Oct 5 01:54:10 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.2: +0 -422 lines
FILE REMOVED

file pmapboot.c was added on branch pgoyette-compat on 2018-10-20 06:58:23 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Fri Oct 5 01:54:10 2018 UTC (5 years, 6 months ago) by ryo
Branch: MAIN
CVS Tags: pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020
Branch point for: pgoyette-compat
Changes since 1.1: +5 -3 lines
Diff to previous 1.1 (colored)

fix build error without DDB

Revision 1.1 / (download) - annotate - [select for diffs], Thu Oct 4 23:53:13 2018 UTC (5 years, 6 months ago) by ryo
Branch: MAIN

cleanup locore, and changed the way to map memories during boot.
- add functions bootpage_enter() and bootpage_alloc() to adapt various layout
  of physical memory map. especially for 64bit physical memory layout.
  pmapboot_alloc() allocates pagetable pages from _end[].
- changed to map only the required amount for PA=VA identity mapping
  (kernel image, UART device, and FDT blob) with L2_BLOCK(2Mbyte).
- changing page permission for kernel image, and making KSEG mapping are done
  at cpu_kernel_vm_init() instead of at locore.
- optimize PTE entries with PTE Contiguous bit. it is enabled on devmap only for now.

reviewed by skrll@, thanks.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>