diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-28 23:08:34 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-28 23:08:34 -0500 |
| commit | 030672aea826adf3dee9100ee8ac303b62c8fe7f (patch) | |
| tree | c9815fcd276e4c61b864790e81e5cbca16b80142 /arch/arm64/mm | |
| parent | 24dc83635ffe3c93d8122099a83ee228c9b7e4f7 (diff) | |
| parent | 5801169a2ed20003f771acecf3ac00574cf10a38 (diff) | |
Merge tag 'devicetree-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull Devicetree updates from Rob Herring:
"The biggest highlight here is the start of using json-schema for DT
bindings. Being able to validate bindings has been discussed for years
with little progress.
- Initial support for DT bindings using json-schema language. This is
the start of converting DT bindings from free-form text to a
structured format.
- Reworking of initrd address initialization. This moves to using the
phys address instead of virt addr in the DT parsing code. This
rework was motivated by CONFIG_DEV_BLK_INITRD causing unnecessary
rebuilding of lots of files.
- Fix stale phandle entries in phandle cache
- DT overlay validation improvements. This exposed several memory
leak bugs which have been fixed.
- Use node name and device_type helper functions in DT code
- Last remaining conversions to using %pOFn printk specifier instead
of device_node.name directly
- Create new common RTC binding doc and move all trivial RTC devices
out of trivial-devices.txt.
- New bindings for Freescale MAG3110 magnetometer, Cadence Sierra
PHY, and Xen shared memory
- Update dtc to upstream version v1.4.7-57-gf267e674d145"
* tag 'devicetree-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (68 commits)
of: __of_detach_node() - remove node from phandle cache
of: of_node_get()/of_node_put() nodes held in phandle cache
gpio-omap.txt: add reg and interrupts properties
dt-bindings: mrvl,intc: fix a trivial typo
dt-bindings: iio: magnetometer: add dt-bindings for freescale mag3110
dt-bindings: Convert trivial-devices.txt to json-schema
dt-bindings: arm: mrvl: amend Browstone compatible string
dt-bindings: arm: Convert Tegra board/soc bindings to json-schema
dt-bindings: arm: Convert ZTE board/soc bindings to json-schema
dt-bindings: arm: Add missing Xilinx boards
dt-bindings: arm: Convert Xilinx board/soc bindings to json-schema
dt-bindings: arm: Convert VIA board/soc bindings to json-schema
dt-bindings: arm: Convert ST STi board/soc bindings to json-schema
dt-bindings: arm: Convert SPEAr board/soc bindings to json-schema
dt-bindings: arm: Convert CSR SiRF board/soc bindings to json-schema
dt-bindings: arm: Convert QCom board/soc bindings to json-schema
dt-bindings: arm: Convert TI nspire board/soc bindings to json-schema
dt-bindings: arm: Convert TI davinci board/soc bindings to json-schema
dt-bindings: arm: Convert Calxeda board/soc bindings to json-schema
dt-bindings: arm: Convert Altera board/soc bindings to json-schema
...
Diffstat (limited to 'arch/arm64/mm')
| -rw-r--r-- | arch/arm64/mm/init.c | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index cbba537ba3d2..a8f2e4792ef9 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c | |||
| @@ -63,24 +63,6 @@ EXPORT_SYMBOL(memstart_addr); | |||
| 63 | 63 | ||
| 64 | phys_addr_t arm64_dma_phys_limit __ro_after_init; | 64 | phys_addr_t arm64_dma_phys_limit __ro_after_init; |
| 65 | 65 | ||
| 66 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 67 | static int __init early_initrd(char *p) | ||
| 68 | { | ||
| 69 | unsigned long start, size; | ||
| 70 | char *endp; | ||
| 71 | |||
| 72 | start = memparse(p, &endp); | ||
| 73 | if (*endp == ',') { | ||
| 74 | size = memparse(endp + 1, NULL); | ||
| 75 | |||
| 76 | initrd_start = start; | ||
| 77 | initrd_end = start + size; | ||
| 78 | } | ||
| 79 | return 0; | ||
| 80 | } | ||
| 81 | early_param("initrd", early_initrd); | ||
| 82 | #endif | ||
| 83 | |||
| 84 | #ifdef CONFIG_KEXEC_CORE | 66 | #ifdef CONFIG_KEXEC_CORE |
| 85 | /* | 67 | /* |
| 86 | * reserve_crashkernel() - reserves memory for crash kernel | 68 | * reserve_crashkernel() - reserves memory for crash kernel |
| @@ -417,14 +399,14 @@ void __init arm64_memblock_init(void) | |||
| 417 | memblock_add(__pa_symbol(_text), (u64)(_end - _text)); | 399 | memblock_add(__pa_symbol(_text), (u64)(_end - _text)); |
| 418 | } | 400 | } |
| 419 | 401 | ||
| 420 | if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && initrd_start) { | 402 | if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_initrd_size) { |
| 421 | /* | 403 | /* |
| 422 | * Add back the memory we just removed if it results in the | 404 | * Add back the memory we just removed if it results in the |
| 423 | * initrd to become inaccessible via the linear mapping. | 405 | * initrd to become inaccessible via the linear mapping. |
| 424 | * Otherwise, this is a no-op | 406 | * Otherwise, this is a no-op |
| 425 | */ | 407 | */ |
| 426 | u64 base = initrd_start & PAGE_MASK; | 408 | u64 base = phys_initrd_start & PAGE_MASK; |
| 427 | u64 size = PAGE_ALIGN(initrd_end) - base; | 409 | u64 size = PAGE_ALIGN(phys_initrd_size); |
| 428 | 410 | ||
| 429 | /* | 411 | /* |
| 430 | * We can only add back the initrd memory if we don't end up | 412 | * We can only add back the initrd memory if we don't end up |
| @@ -468,15 +450,11 @@ void __init arm64_memblock_init(void) | |||
| 468 | * pagetables with memblock. | 450 | * pagetables with memblock. |
| 469 | */ | 451 | */ |
| 470 | memblock_reserve(__pa_symbol(_text), _end - _text); | 452 | memblock_reserve(__pa_symbol(_text), _end - _text); |
| 471 | #ifdef CONFIG_BLK_DEV_INITRD | 453 | if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_initrd_size) { |
| 472 | if (initrd_start) { | ||
| 473 | memblock_reserve(initrd_start, initrd_end - initrd_start); | ||
| 474 | |||
| 475 | /* the generic initrd code expects virtual addresses */ | 454 | /* the generic initrd code expects virtual addresses */ |
| 476 | initrd_start = __phys_to_virt(initrd_start); | 455 | initrd_start = __phys_to_virt(phys_initrd_start); |
| 477 | initrd_end = __phys_to_virt(initrd_end); | 456 | initrd_end = initrd_start + phys_initrd_size; |
| 478 | } | 457 | } |
| 479 | #endif | ||
| 480 | 458 | ||
| 481 | early_init_fdt_scan_reserved_mem(); | 459 | early_init_fdt_scan_reserved_mem(); |
| 482 | 460 | ||
