mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 17:30:53 +07:00
Merge branch 'akpm' (patches from Andrew)
Merge more updates from Andrew Morton: - the rest of MM - lib/bitmap updates - hfs updates - fatfs updates - various other misc things * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (94 commits) mm/gup.c: fix __get_user_pages_fast() comment mm: Fix warning in insert_pfn() memory-hotplug.rst: add some details about locking internals powerpc/powernv: hold device_hotplug_lock when calling memtrace_offline_pages() powerpc/powernv: hold device_hotplug_lock when calling device_online() mm/memory_hotplug: fix online/offline_pages called w.o. mem_hotplug_lock mm/memory_hotplug: make add_memory() take the device_hotplug_lock mm/memory_hotplug: make remove_memory() take the device_hotplug_lock mm/memblock.c: warn if zero alignment was requested memblock: stop using implicit alignment to SMP_CACHE_BYTES docs/boot-time-mm: remove bootmem documentation mm: remove include/linux/bootmem.h memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants mm: remove nobootmem memblock: rename __free_pages_bootmem to memblock_free_pages memblock: rename free_all_bootmem to memblock_free_all memblock: replace free_bootmem_late with memblock_free_late memblock: replace free_bootmem{_node} with memblock_free mm: nobootmem: remove bootmem allocation APIs memblock: replace alloc_bootmem with memblock_alloc ...
This commit is contained in:
commit
59fc453b21
5
.mailmap
5
.mailmap
@ -160,6 +160,11 @@ Peter Oruba <peter.oruba@amd.com>
|
||||
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
|
||||
Praveen BP <praveenbp@ti.com>
|
||||
Qais Yousef <qsyousef@gmail.com> <qais.yousef@imgtec.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <bug-track@fisher-privat.net>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <o.rempel@pengutronix.de>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <ore@pengutronix.de>
|
||||
Rajesh Shah <rajesh.shah@intel.com>
|
||||
Ralf Baechle <ralf@linux-mips.org>
|
||||
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
@ -5,7 +5,7 @@ Memory Hotplug
|
||||
==============
|
||||
|
||||
:Created: Jul 28 2007
|
||||
:Updated: Add description of notifier of memory hotplug: Oct 11 2007
|
||||
:Updated: Add some details about locking internals: Aug 20 2018
|
||||
|
||||
This document is about memory hotplug including how-to-use and current status.
|
||||
Because Memory Hotplug is still under development, contents of this text will
|
||||
@ -392,6 +392,46 @@ Need more implementation yet....
|
||||
- Notification completion of remove works by OS to firmware.
|
||||
- Guard from remove if not yet.
|
||||
|
||||
|
||||
Locking Internals
|
||||
=================
|
||||
|
||||
When adding/removing memory that uses memory block devices (i.e. ordinary RAM),
|
||||
the device_hotplug_lock should be held to:
|
||||
|
||||
- synchronize against online/offline requests (e.g. via sysfs). This way, memory
|
||||
block devices can only be accessed (.online/.state attributes) by user
|
||||
space once memory has been fully added. And when removing memory, we
|
||||
know nobody is in critical sections.
|
||||
- synchronize against CPU hotplug and similar (e.g. relevant for ACPI and PPC)
|
||||
|
||||
Especially, there is a possible lock inversion that is avoided using
|
||||
device_hotplug_lock when adding memory and user space tries to online that
|
||||
memory faster than expected:
|
||||
|
||||
- device_online() will first take the device_lock(), followed by
|
||||
mem_hotplug_lock
|
||||
- add_memory_resource() will first take the mem_hotplug_lock, followed by
|
||||
the device_lock() (while creating the devices, during bus_add_device()).
|
||||
|
||||
As the device is visible to user space before taking the device_lock(), this
|
||||
can result in a lock inversion.
|
||||
|
||||
onlining/offlining of memory should be done via device_online()/
|
||||
device_offline() - to make sure it is properly synchronized to actions
|
||||
via sysfs. Holding device_hotplug_lock is advised (to e.g. protect online_type)
|
||||
|
||||
When adding/removing/onlining/offlining memory or adding/removing
|
||||
heterogeneous/device memory, we should always hold the mem_hotplug_lock in
|
||||
write mode to serialise memory hotplug (e.g. access to global/zone
|
||||
variables).
|
||||
|
||||
In addition, mem_hotplug_lock (in contrast to device_hotplug_lock) in read
|
||||
mode allows for a quite efficient get_online_mems/put_online_mems
|
||||
implementation, so code accessing memory can protect from that memory
|
||||
vanishing.
|
||||
|
||||
|
||||
Future Work
|
||||
===========
|
||||
|
||||
|
@ -5,54 +5,23 @@ Boot time memory management
|
||||
Early system initialization cannot use "normal" memory management
|
||||
simply because it is not set up yet. But there is still need to
|
||||
allocate memory for various data structures, for instance for the
|
||||
physical page allocator. To address this, a specialized allocator
|
||||
called the :ref:`Boot Memory Allocator <bootmem>`, or bootmem, was
|
||||
introduced. Several years later PowerPC developers added a "Logical
|
||||
Memory Blocks" allocator, which was later adopted by other
|
||||
architectures and renamed to :ref:`memblock <memblock>`. There is also
|
||||
a compatibility layer called `nobootmem` that translates bootmem
|
||||
allocation interfaces to memblock calls.
|
||||
physical page allocator.
|
||||
|
||||
The selection of the early allocator is done using
|
||||
``CONFIG_NO_BOOTMEM`` and ``CONFIG_HAVE_MEMBLOCK`` kernel
|
||||
configuration options. These options are enabled or disabled
|
||||
statically by the architectures' Kconfig files.
|
||||
|
||||
* Architectures that rely only on bootmem select
|
||||
``CONFIG_NO_BOOTMEM=n && CONFIG_HAVE_MEMBLOCK=n``.
|
||||
* The users of memblock with the nobootmem compatibility layer set
|
||||
``CONFIG_NO_BOOTMEM=y && CONFIG_HAVE_MEMBLOCK=y``.
|
||||
* And for those that use both memblock and bootmem the configuration
|
||||
includes ``CONFIG_NO_BOOTMEM=n && CONFIG_HAVE_MEMBLOCK=y``.
|
||||
|
||||
Whichever allocator is used, it is the responsibility of the
|
||||
architecture specific initialization to set it up in
|
||||
:c:func:`setup_arch` and tear it down in :c:func:`mem_init` functions.
|
||||
A specialized allocator called ``memblock`` performs the
|
||||
boot time memory management. The architecture specific initialization
|
||||
must set it up in :c:func:`setup_arch` and tear it down in
|
||||
:c:func:`mem_init` functions.
|
||||
|
||||
Once the early memory management is available it offers a variety of
|
||||
functions and macros for memory allocations. The allocation request
|
||||
may be directed to the first (and probably the only) node or to a
|
||||
particular node in a NUMA system. There are API variants that panic
|
||||
when an allocation fails and those that don't. And more recent and
|
||||
advanced memblock even allows controlling its own behaviour.
|
||||
when an allocation fails and those that don't.
|
||||
|
||||
.. _bootmem:
|
||||
Memblock also offers a variety of APIs that control its own behaviour.
|
||||
|
||||
Bootmem
|
||||
=======
|
||||
|
||||
(mostly stolen from Mel Gorman's "Understanding the Linux Virtual
|
||||
Memory Manager" `book`_)
|
||||
|
||||
.. _book: https://www.kernel.org/doc/gorman/
|
||||
|
||||
.. kernel-doc:: mm/bootmem.c
|
||||
:doc: bootmem overview
|
||||
|
||||
.. _memblock:
|
||||
|
||||
Memblock
|
||||
========
|
||||
Memblock Overview
|
||||
=================
|
||||
|
||||
.. kernel-doc:: mm/memblock.c
|
||||
:doc: memblock overview
|
||||
@ -61,26 +30,6 @@ Memblock
|
||||
Functions and structures
|
||||
========================
|
||||
|
||||
Common API
|
||||
----------
|
||||
|
||||
The functions that are described in this section are available
|
||||
regardless of what early memory manager is enabled.
|
||||
|
||||
.. kernel-doc:: mm/nobootmem.c
|
||||
|
||||
Bootmem specific API
|
||||
--------------------
|
||||
|
||||
These interfaces available only with bootmem, i.e when ``CONFIG_NO_BOOTMEM=n``
|
||||
|
||||
.. kernel-doc:: include/linux/bootmem.h
|
||||
.. kernel-doc:: mm/bootmem.c
|
||||
:functions:
|
||||
|
||||
Memblock specific API
|
||||
---------------------
|
||||
|
||||
Here is the description of memblock data structures, functions and
|
||||
macros. Some of them are actually internal, but since they are
|
||||
documented it would be silly to omit them. Besides, reading the
|
||||
|
@ -31,8 +31,6 @@ config ALPHA
|
||||
select ODD_RT_SIGACTION
|
||||
select OLD_SIGSUSPEND
|
||||
select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
|
||||
select HAVE_MEMBLOCK
|
||||
select NO_BOOTMEM
|
||||
help
|
||||
The Alpha is a 64-bit general-purpose processor designed and
|
||||
marketed by the Digital Equipment Corporation of blessed memory,
|
||||
|
@ -10,12 +10,6 @@
|
||||
|
||||
#include <linux/personality.h> /* for ADDR_LIMIT_32BIT */
|
||||
|
||||
/*
|
||||
* Returns current instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() \
|
||||
({ void *__pc; __asm__ ("br %0,.+4" : "=r"(__pc)); __pc; })
|
||||
|
||||
/*
|
||||
* We have a 42-bit user address space: 4TB user VM...
|
||||
*/
|
||||
|
@ -346,7 +346,8 @@ apecs_init_arch(void)
|
||||
* Window 1 is direct access 1GB at 1GB
|
||||
* Window 2 is scatter-gather 8MB at 8MB (for isa)
|
||||
*/
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_pci = NULL;
|
||||
__direct_map_base = 0x40000000;
|
||||
__direct_map_size = 0x40000000;
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <linux/pci.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/mce.h>
|
||||
@ -331,7 +331,7 @@ cia_prepare_tbia_workaround(int window)
|
||||
long i;
|
||||
|
||||
/* Use minimal 1K map. */
|
||||
ppte = __alloc_bootmem(CIA_BROKEN_TBIA_SIZE, 32768, 0);
|
||||
ppte = memblock_alloc_from(CIA_BROKEN_TBIA_SIZE, 32768, 0);
|
||||
pte = (virt_to_phys(ppte) >> (PAGE_SHIFT - 1)) | 1;
|
||||
|
||||
for (i = 0; i < CIA_BROKEN_TBIA_SIZE / sizeof(unsigned long); ++i)
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
@ -234,8 +233,7 @@ albacore_init_arch(void)
|
||||
unsigned long size;
|
||||
|
||||
size = initrd_end - initrd_start;
|
||||
free_bootmem_node(NODE_DATA(0), __pa(initrd_start),
|
||||
PAGE_ALIGN(size));
|
||||
memblock_free(__pa(initrd_start), PAGE_ALIGN(size));
|
||||
if (!move_initrd(pci_mem))
|
||||
printk("irongate_init_arch: initrd too big "
|
||||
"(%ldK)\ndisabling initrd\n",
|
||||
|
@ -275,7 +275,8 @@ lca_init_arch(void)
|
||||
* Note that we do not try to save any of the DMA window CSRs
|
||||
* before setting them, since we cannot read those CSRs on LCA.
|
||||
*/
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_pci = NULL;
|
||||
__direct_map_base = 0x40000000;
|
||||
__direct_map_size = 0x40000000;
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/mc146818rtc.h>
|
||||
#include <linux/rtc.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/smp.h>
|
||||
@ -82,7 +82,7 @@ mk_resource_name(int pe, int port, char *str)
|
||||
char *name;
|
||||
|
||||
sprintf(tmp, "PCI %s PE %d PORT %d", str, pe, port);
|
||||
name = alloc_bootmem(strlen(tmp) + 1);
|
||||
name = memblock_alloc(strlen(tmp) + 1, SMP_CACHE_BYTES);
|
||||
strcpy(name, tmp);
|
||||
|
||||
return name;
|
||||
@ -117,7 +117,7 @@ alloc_io7(unsigned int pe)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
io7 = alloc_bootmem(sizeof(*io7));
|
||||
io7 = memblock_alloc(sizeof(*io7), SMP_CACHE_BYTES);
|
||||
io7->pe = pe;
|
||||
raw_spin_lock_init(&io7->irq_lock);
|
||||
|
||||
|
@ -364,9 +364,11 @@ mcpcia_startup_hose(struct pci_controller *hose)
|
||||
* Window 1 is scatter-gather (up to) 1GB at 1GB (for pci)
|
||||
* Window 2 is direct access 2GB at 2GB
|
||||
*/
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_pci = iommu_arena_new(hose, 0x40000000,
|
||||
size_for_memory(0x40000000), 0);
|
||||
size_for_memory(0x40000000),
|
||||
SMP_CACHE_BYTES);
|
||||
|
||||
__direct_map_base = 0x80000000;
|
||||
__direct_map_size = 0x80000000;
|
||||
|
@ -351,7 +351,7 @@ t2_sg_map_window2(struct pci_controller *hose,
|
||||
|
||||
/* Note we can only do 1 SG window, as the other is for direct, so
|
||||
do an ISA SG area, especially for the floppy. */
|
||||
hose->sg_isa = iommu_arena_new(hose, base, length, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, base, length, SMP_CACHE_BYTES);
|
||||
hose->sg_pci = NULL;
|
||||
|
||||
temp = (base & 0xfff00000UL) | ((base + length - 1) >> 20);
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/smp.h>
|
||||
@ -316,10 +316,12 @@ titan_init_one_pachip_port(titan_pachip_port *port, int index)
|
||||
* Window 1 is direct access 1GB at 2GB
|
||||
* Window 2 is scatter-gather 1GB at 3GB
|
||||
*/
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_isa->align_entry = 8; /* 64KB for ISA */
|
||||
|
||||
hose->sg_pci = iommu_arena_new(hose, 0xc0000000, 0x40000000, 0);
|
||||
hose->sg_pci = iommu_arena_new(hose, 0xc0000000, 0x40000000,
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_pci->align_entry = 4; /* Titan caches 4 PTEs at a time */
|
||||
|
||||
port->wsba[0].csr = hose->sg_isa->dma_base | 3;
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/pci.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/smp.h>
|
||||
@ -319,12 +319,14 @@ tsunami_init_one_pchip(tsunami_pchip *pchip, int index)
|
||||
* NOTE: we need the align_entry settings for Acer devices on ES40,
|
||||
* specifically floppy and IDE when memory is larger than 2GB.
|
||||
*/
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
|
||||
SMP_CACHE_BYTES);
|
||||
/* Initially set for 4 PTEs, but will be overridden to 64K for ISA. */
|
||||
hose->sg_isa->align_entry = 4;
|
||||
|
||||
hose->sg_pci = iommu_arena_new(hose, 0x40000000,
|
||||
size_for_memory(0x40000000), 0);
|
||||
size_for_memory(0x40000000),
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_pci->align_entry = 4; /* Tsunami caches 4 PTEs at a time */
|
||||
|
||||
__direct_map_base = 0x80000000;
|
||||
|
@ -111,8 +111,10 @@ wildfire_init_hose(int qbbno, int hoseno)
|
||||
* ??? We ought to scale window 3 memory.
|
||||
*
|
||||
*/
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 0);
|
||||
hose->sg_pci = iommu_arena_new(hose, 0xc0000000, 0x08000000, 0);
|
||||
hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
|
||||
SMP_CACHE_BYTES);
|
||||
hose->sg_pci = iommu_arena_new(hose, 0xc0000000, 0x08000000,
|
||||
SMP_CACHE_BYTES);
|
||||
|
||||
pci = WILDFIRE_pci(qbbno, hoseno);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
#include <linux/pci.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/mm.h>
|
||||
@ -33,7 +33,7 @@ alloc_pci_controller(void)
|
||||
{
|
||||
struct pci_controller *hose;
|
||||
|
||||
hose = alloc_bootmem(sizeof(*hose));
|
||||
hose = memblock_alloc(sizeof(*hose), SMP_CACHE_BYTES);
|
||||
|
||||
*hose_tail = hose;
|
||||
hose_tail = &hose->next;
|
||||
@ -44,7 +44,7 @@ alloc_pci_controller(void)
|
||||
struct resource * __init
|
||||
alloc_resource(void)
|
||||
{
|
||||
return alloc_bootmem(sizeof(struct resource));
|
||||
return memblock_alloc(sizeof(struct resource), SMP_CACHE_BYTES);
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsigned long, bus,
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/cache.h>
|
||||
#include <linux/slab.h>
|
||||
@ -392,7 +392,7 @@ alloc_pci_controller(void)
|
||||
{
|
||||
struct pci_controller *hose;
|
||||
|
||||
hose = alloc_bootmem(sizeof(*hose));
|
||||
hose = memblock_alloc(sizeof(*hose), SMP_CACHE_BYTES);
|
||||
|
||||
*hose_tail = hose;
|
||||
hose_tail = &hose->next;
|
||||
@ -403,7 +403,7 @@ alloc_pci_controller(void)
|
||||
struct resource * __init
|
||||
alloc_resource(void)
|
||||
{
|
||||
return alloc_bootmem(sizeof(struct resource));
|
||||
return memblock_alloc(sizeof(struct resource), SMP_CACHE_BYTES);
|
||||
}
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/log2.h>
|
||||
@ -74,26 +74,26 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
|
||||
|
||||
#ifdef CONFIG_DISCONTIGMEM
|
||||
|
||||
arena = alloc_bootmem_node(NODE_DATA(nid), sizeof(*arena));
|
||||
arena = memblock_alloc_node(sizeof(*arena), align, nid);
|
||||
if (!NODE_DATA(nid) || !arena) {
|
||||
printk("%s: couldn't allocate arena from node %d\n"
|
||||
" falling back to system-wide allocation\n",
|
||||
__func__, nid);
|
||||
arena = alloc_bootmem(sizeof(*arena));
|
||||
arena = memblock_alloc(sizeof(*arena), SMP_CACHE_BYTES);
|
||||
}
|
||||
|
||||
arena->ptes = __alloc_bootmem_node(NODE_DATA(nid), mem_size, align, 0);
|
||||
arena->ptes = memblock_alloc_node(sizeof(*arena), align, nid);
|
||||
if (!NODE_DATA(nid) || !arena->ptes) {
|
||||
printk("%s: couldn't allocate arena ptes from node %d\n"
|
||||
" falling back to system-wide allocation\n",
|
||||
__func__, nid);
|
||||
arena->ptes = __alloc_bootmem(mem_size, align, 0);
|
||||
arena->ptes = memblock_alloc_from(mem_size, align, 0);
|
||||
}
|
||||
|
||||
#else /* CONFIG_DISCONTIGMEM */
|
||||
|
||||
arena = alloc_bootmem(sizeof(*arena));
|
||||
arena->ptes = __alloc_bootmem(mem_size, align, 0);
|
||||
arena = memblock_alloc(sizeof(*arena), SMP_CACHE_BYTES);
|
||||
arena->ptes = memblock_alloc_from(mem_size, align, 0);
|
||||
|
||||
#endif /* CONFIG_DISCONTIGMEM */
|
||||
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/seq_file.h>
|
||||
@ -294,7 +293,7 @@ move_initrd(unsigned long mem_limit)
|
||||
unsigned long size;
|
||||
|
||||
size = initrd_end - initrd_start;
|
||||
start = __alloc_bootmem(PAGE_ALIGN(size), PAGE_SIZE, 0);
|
||||
start = memblock_alloc_from(PAGE_ALIGN(size), PAGE_SIZE, 0);
|
||||
if (!start || __pa(start) + size > mem_limit) {
|
||||
initrd_start = initrd_end = 0;
|
||||
return NULL;
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <linux/pci.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/bitops.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/swap.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h> /* max_low_pfn */
|
||||
#include <linux/memblock.h> /* max_low_pfn */
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
@ -282,7 +282,7 @@ mem_init(void)
|
||||
{
|
||||
set_max_mapnr(max_low_pfn);
|
||||
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
mem_init_print_info(NULL);
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/swap.h>
|
||||
#include <linux/initrd.h>
|
||||
|
@ -37,14 +37,12 @@ config ARC
|
||||
select HAVE_KERNEL_LZMA
|
||||
select HAVE_KPROBES
|
||||
select HAVE_KRETPROBES
|
||||
select HAVE_MEMBLOCK
|
||||
select HAVE_MOD_ARCH_SPECIFIC
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_PERF_EVENTS
|
||||
select HANDLE_DOMAIN_IRQ
|
||||
select IRQ_DOMAIN
|
||||
select MODULES_USE_ELF_RELA
|
||||
select NO_BOOTMEM
|
||||
select OF
|
||||
select OF_EARLY_FLATTREE
|
||||
select OF_RESERVED_MEM
|
||||
|
@ -98,14 +98,6 @@ extern void start_thread(struct pt_regs * regs, unsigned long pc,
|
||||
|
||||
extern unsigned int get_wchan(struct task_struct *p);
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
* Should the PC register be read instead ? This macro does not seem to
|
||||
* be used in many places so this wont be all that bad.
|
||||
*/
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l; })
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
#include <linux/sched.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/sort.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/stop_machine.h>
|
||||
@ -181,8 +181,8 @@ static void init_unwind_hdr(struct unwind_table *table,
|
||||
*/
|
||||
static void *__init unw_hdr_alloc_early(unsigned long sz)
|
||||
{
|
||||
return __alloc_bootmem_nopanic(sz, sizeof(unsigned int),
|
||||
MAX_DMA_ADDRESS);
|
||||
return memblock_alloc_from_nopanic(sz, sizeof(unsigned int),
|
||||
MAX_DMA_ADDRESS);
|
||||
}
|
||||
|
||||
static void *unw_hdr_alloc(unsigned long sz)
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <asm/processor.h>
|
||||
@ -123,7 +123,7 @@ static noinline pte_t * __init alloc_kmap_pgtable(unsigned long kvaddr)
|
||||
pud_k = pud_offset(pgd_k, kvaddr);
|
||||
pmd_k = pmd_offset(pud_k, kvaddr);
|
||||
|
||||
pte_k = (pte_t *)alloc_bootmem_low_pages(PAGE_SIZE);
|
||||
pte_k = (pte_t *)memblock_alloc_low(PAGE_SIZE, PAGE_SIZE);
|
||||
pmd_populate_kernel(&init_mm, pmd_k, pte_k);
|
||||
return pte_k;
|
||||
}
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
#include <linux/initrd.h>
|
||||
@ -218,7 +217,7 @@ void __init mem_init(void)
|
||||
free_highmem_page(pfn_to_page(tmp));
|
||||
#endif
|
||||
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
mem_init_print_info(NULL);
|
||||
}
|
||||
|
||||
|
@ -82,7 +82,6 @@ config ARM
|
||||
select HAVE_KERNEL_XZ
|
||||
select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
|
||||
select HAVE_KRETPROBES if (HAVE_KPROBES)
|
||||
select HAVE_MEMBLOCK
|
||||
select HAVE_MOD_ARCH_SPECIFIC
|
||||
select HAVE_NMI
|
||||
select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
|
||||
@ -100,7 +99,6 @@ config ARM
|
||||
select IRQ_FORCED_THREADING
|
||||
select MODULES_USE_ELF_REL
|
||||
select NEED_DMA_MAP_STATE
|
||||
select NO_BOOTMEM
|
||||
select OF_EARLY_FLATTREE if OF
|
||||
select OF_RESERVED_MEM if OF
|
||||
select OLD_SIGACTION
|
||||
|
@ -11,12 +11,6 @@
|
||||
#ifndef __ASM_ARM_PROCESSOR_H
|
||||
#define __ASM_ARM_PROCESSOR_H
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l;})
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <asm/hw_breakpoint.h>
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_fdt.h>
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include <linux/utsname.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/screen_info.h>
|
||||
#include <linux/of_platform.h>
|
||||
@ -857,7 +856,7 @@ static void __init request_standard_resources(const struct machine_desc *mdesc)
|
||||
*/
|
||||
boot_alias_start = phys_to_idmap(start);
|
||||
if (arm_has_idmap_alias() && boot_alias_start != IDMAP_INVALID_ADDR) {
|
||||
res = memblock_virt_alloc(sizeof(*res), 0);
|
||||
res = memblock_alloc(sizeof(*res), SMP_CACHE_BYTES);
|
||||
res->name = "System RAM (boot alias)";
|
||||
res->start = boot_alias_start;
|
||||
res->end = phys_to_idmap(end);
|
||||
@ -865,7 +864,7 @@ static void __init request_standard_resources(const struct machine_desc *mdesc)
|
||||
request_resource(&iomem_resource, res);
|
||||
}
|
||||
|
||||
res = memblock_virt_alloc(sizeof(*res), 0);
|
||||
res = memblock_alloc(sizeof(*res), SMP_CACHE_BYTES);
|
||||
res->name = "System RAM";
|
||||
res->start = start;
|
||||
res->end = end;
|
||||
|
@ -141,7 +141,7 @@
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <linux/platform_data/ti-sysc.h>
|
||||
|
||||
@ -726,7 +726,7 @@ static int __init _setup_clkctrl_provider(struct device_node *np)
|
||||
u64 size;
|
||||
int i;
|
||||
|
||||
provider = memblock_virt_alloc(sizeof(*provider), 0);
|
||||
provider = memblock_alloc(sizeof(*provider), SMP_CACHE_BYTES);
|
||||
if (!provider)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -736,12 +736,14 @@ static int __init _setup_clkctrl_provider(struct device_node *np)
|
||||
of_property_count_elems_of_size(np, "reg", sizeof(u32)) / 2;
|
||||
|
||||
provider->addr =
|
||||
memblock_virt_alloc(sizeof(void *) * provider->num_addrs, 0);
|
||||
memblock_alloc(sizeof(void *) * provider->num_addrs,
|
||||
SMP_CACHE_BYTES);
|
||||
if (!provider->addr)
|
||||
return -ENOMEM;
|
||||
|
||||
provider->size =
|
||||
memblock_virt_alloc(sizeof(u32) * provider->num_addrs, 0);
|
||||
memblock_alloc(sizeof(u32) * provider->num_addrs,
|
||||
SMP_CACHE_BYTES);
|
||||
if (!provider->size)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -9,7 +9,6 @@
|
||||
*
|
||||
* DMA uncached mapping support.
|
||||
*/
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/genalloc.h>
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/swap.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/mman.h>
|
||||
#include <linux/sched/signal.h>
|
||||
#include <linux/sched/task.h>
|
||||
@ -508,7 +507,7 @@ void __init mem_init(void)
|
||||
|
||||
/* this will put all unused low memory onto the freelists */
|
||||
free_unused_memmap();
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
|
||||
#ifdef CONFIG_SA1111
|
||||
/* now that our DMA memory is actually so designated, we can free it */
|
||||
|
@ -721,7 +721,7 @@ EXPORT_SYMBOL(phys_mem_access_prot);
|
||||
|
||||
static void __init *early_alloc_aligned(unsigned long sz, unsigned long align)
|
||||
{
|
||||
void *ptr = __va(memblock_alloc(sz, align));
|
||||
void *ptr = __va(memblock_phys_alloc(sz, align));
|
||||
memset(ptr, 0, sz);
|
||||
return ptr;
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/export.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
@ -139,7 +139,6 @@ config ARM64
|
||||
select HAVE_GENERIC_DMA_COHERENT
|
||||
select HAVE_HW_BREAKPOINT if PERF_EVENTS
|
||||
select HAVE_IRQ_TIME_ACCOUNTING
|
||||
select HAVE_MEMBLOCK
|
||||
select HAVE_MEMBLOCK_NODE_MAP if NUMA
|
||||
select HAVE_NMI
|
||||
select HAVE_PATA_PLATFORM
|
||||
@ -161,7 +160,6 @@ config ARM64
|
||||
select MULTI_IRQ_HANDLER
|
||||
select NEED_DMA_MAP_STATE
|
||||
select NEED_SG_DMA_LENGTH
|
||||
select NO_BOOTMEM
|
||||
select OF
|
||||
select OF_EARLY_FLATTREE
|
||||
select OF_RESERVED_MEM
|
||||
|
@ -25,13 +25,6 @@
|
||||
#define USER_DS (TASK_SIZE_64 - 1)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l;})
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/build_bug.h>
|
||||
|
@ -16,7 +16,6 @@
|
||||
#define pr_fmt(fmt) "ACPI: " fmt
|
||||
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/efi.h>
|
||||
#include <linux/efi-bgrt.h>
|
||||
|
@ -18,7 +18,6 @@
|
||||
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/memblock.h>
|
||||
|
@ -26,7 +26,6 @@
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/cache.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/screen_info.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/kexec.h>
|
||||
@ -217,8 +216,9 @@ static void __init request_standard_resources(void)
|
||||
kernel_data.end = __pa_symbol(_end - 1);
|
||||
|
||||
num_standard_resources = memblock.memory.cnt;
|
||||
standard_resources = alloc_bootmem_low(num_standard_resources *
|
||||
sizeof(*standard_resources));
|
||||
standard_resources = memblock_alloc_low(num_standard_resources *
|
||||
sizeof(*standard_resources),
|
||||
SMP_CACHE_BYTES);
|
||||
|
||||
for_each_memblock(memory, region) {
|
||||
res = &standard_resources[i++];
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/cache.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/slab.h>
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/swap.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/cache.h>
|
||||
#include <linux/mman.h>
|
||||
#include <linux/nodemask.h>
|
||||
@ -536,7 +535,7 @@ static inline void free_memmap(unsigned long start_pfn, unsigned long end_pfn)
|
||||
* memmap array.
|
||||
*/
|
||||
if (pg < pgend)
|
||||
free_bootmem(pg, pgend - pg);
|
||||
memblock_free(pg, pgend - pg);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -599,7 +598,7 @@ void __init mem_init(void)
|
||||
free_unused_memmap();
|
||||
#endif
|
||||
/* this will put all unused low memory onto the freelists */
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
|
||||
kexec_reserve_crashkres_pages();
|
||||
|
||||
|
@ -11,7 +11,6 @@
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) "kasan: " fmt
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/kasan.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sched/task.h>
|
||||
@ -38,7 +37,7 @@ static pgd_t tmp_pg_dir[PTRS_PER_PGD] __initdata __aligned(PGD_SIZE);
|
||||
|
||||
static phys_addr_t __init kasan_alloc_zeroed_page(int node)
|
||||
{
|
||||
void *p = memblock_virt_alloc_try_nid(PAGE_SIZE, PAGE_SIZE,
|
||||
void *p = memblock_alloc_try_nid(PAGE_SIZE, PAGE_SIZE,
|
||||
__pa(MAX_DMA_ADDRESS),
|
||||
MEMBLOCK_ALLOC_ACCESSIBLE, node);
|
||||
return __pa(p);
|
||||
|
@ -101,7 +101,7 @@ static phys_addr_t __init early_pgtable_alloc(void)
|
||||
phys_addr_t phys;
|
||||
void *ptr;
|
||||
|
||||
phys = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
phys = memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
/*
|
||||
* The FIX_{PGD,PUD,PMD} slots may be in active use, but the FIX_PTE
|
||||
|
@ -20,7 +20,6 @@
|
||||
#define pr_fmt(fmt) "NUMA: " fmt
|
||||
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
@ -168,7 +167,7 @@ static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size,
|
||||
{
|
||||
int nid = early_cpu_to_node(cpu);
|
||||
|
||||
return memblock_virt_alloc_try_nid(size, align,
|
||||
return memblock_alloc_try_nid(size, align,
|
||||
__pa(MAX_DMA_ADDRESS), MEMBLOCK_ALLOC_ACCESSIBLE, nid);
|
||||
}
|
||||
|
||||
@ -237,7 +236,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
|
||||
if (start_pfn >= end_pfn)
|
||||
pr_info("Initmem setup node %d [<memory-less node>]\n", nid);
|
||||
|
||||
nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
|
||||
nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
|
||||
nd = __va(nd_pa);
|
||||
|
||||
/* report and initialize */
|
||||
|
@ -13,7 +13,6 @@ config C6X
|
||||
select GENERIC_ATOMIC64
|
||||
select GENERIC_IRQ_SHOW
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_MEMBLOCK
|
||||
select SPARSE_IRQ
|
||||
select IRQ_DOMAIN
|
||||
select OF
|
||||
|
@ -17,17 +17,6 @@
|
||||
#include <asm/page.h>
|
||||
#include <asm/current.h>
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() \
|
||||
({ \
|
||||
void *__pc; \
|
||||
asm("mvc .S2 pce1,%0\n" : "=b"(__pc)); \
|
||||
__pc; \
|
||||
})
|
||||
|
||||
/*
|
||||
* User space process size. This is mostly meaningless for NOMMU
|
||||
* but some C6X processors may have RAM addresses up to 0xFFFFFFFF.
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/clkdev.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -135,8 +135,8 @@ void __init coherent_mem_init(phys_addr_t start, u32 size)
|
||||
if (dma_size & (PAGE_SIZE - 1))
|
||||
++dma_pages;
|
||||
|
||||
bitmap_phys = memblock_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
|
||||
sizeof(long));
|
||||
bitmap_phys = memblock_phys_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
|
||||
sizeof(long));
|
||||
|
||||
dma_bitmap = phys_to_virt(bitmap_phys);
|
||||
memset(dma_bitmap, 0, dma_pages * PAGE_SIZE);
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/swap.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
#include <linux/blkdev.h>
|
||||
#endif
|
||||
@ -38,7 +38,8 @@ void __init paging_init(void)
|
||||
struct pglist_data *pgdat = NODE_DATA(0);
|
||||
unsigned long zones_size[MAX_NR_ZONES] = {0, };
|
||||
|
||||
empty_zero_page = (unsigned long) alloc_bootmem_pages(PAGE_SIZE);
|
||||
empty_zero_page = (unsigned long) memblock_alloc(PAGE_SIZE,
|
||||
PAGE_SIZE);
|
||||
memset((void *)empty_zero_page, 0, PAGE_SIZE);
|
||||
|
||||
/*
|
||||
@ -61,7 +62,7 @@ void __init mem_init(void)
|
||||
high_memory = (void *)(memory_end & PAGE_MASK);
|
||||
|
||||
/* this will put all memory onto the freelists */
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
|
||||
mem_init_print_info(NULL);
|
||||
}
|
||||
|
@ -36,10 +36,8 @@ config CSKY
|
||||
select HAVE_C_RECORDMCOUNT
|
||||
select HAVE_DMA_API_DEBUG
|
||||
select HAVE_DMA_CONTIGUOUS
|
||||
select HAVE_MEMBLOCK
|
||||
select MAY_HAVE_SPARSE_IRQ
|
||||
select MODULES_USE_ELF_RELA if MODULES
|
||||
select NO_BOOTMEM
|
||||
select OF
|
||||
select OF_EARLY_FLATTREE
|
||||
select OF_RESERVED_MEM
|
||||
|
@ -4,12 +4,6 @@
|
||||
#ifndef __ASM_CSKY_PROCESSOR_H
|
||||
#define __ASM_CSKY_PROCESSOR_H
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l; })
|
||||
|
||||
#include <linux/bitops.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/ptrace.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
#include <linux/console.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_fdt.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/cacheflush.h>
|
||||
@ -140,7 +140,7 @@ static void __init fixrange_init(unsigned long start, unsigned long end,
|
||||
pmd = (pmd_t *)pud;
|
||||
for (; (k < PTRS_PER_PMD) && (vaddr != end); pmd++, k++) {
|
||||
if (pmd_none(*pmd)) {
|
||||
pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
|
||||
pte = (pte_t *) memblock_alloc_low(PAGE_SIZE, PAGE_SIZE);
|
||||
set_pmd(pmd, __pmd(__pa(pte)));
|
||||
BUG_ON(pte != pte_offset_kernel(pmd, 0));
|
||||
}
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/mman.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/swap.h>
|
||||
@ -47,7 +46,7 @@ void __init mem_init(void)
|
||||
#endif
|
||||
high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
|
||||
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
|
||||
#ifdef CONFIG_HIGHMEM
|
||||
for (tmp = highstart_pfn; tmp < highend_pfn; tmp++) {
|
||||
|
@ -15,8 +15,6 @@ config H8300
|
||||
select OF
|
||||
select OF_IRQ
|
||||
select OF_EARLY_FLATTREE
|
||||
select HAVE_MEMBLOCK
|
||||
select NO_BOOTMEM
|
||||
select TIMER_OF
|
||||
select H8300_TMR8
|
||||
select HAVE_KERNEL_GZIP
|
||||
|
@ -12,12 +12,6 @@
|
||||
#ifndef __ASM_H8300_PROCESSOR_H
|
||||
#define __ASM_H8300_PROCESSOR_H
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l; })
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/ptrace.h>
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include <linux/console.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/of.h>
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/pagemap.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
@ -67,7 +67,7 @@ void __init paging_init(void)
|
||||
* Initialize the bad page table and bad page to point
|
||||
* to a couple of allocated pages.
|
||||
*/
|
||||
empty_zero_page = (unsigned long)alloc_bootmem_pages(PAGE_SIZE);
|
||||
empty_zero_page = (unsigned long)memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
memset((void *)empty_zero_page, 0, PAGE_SIZE);
|
||||
|
||||
/*
|
||||
@ -96,7 +96,7 @@ void __init mem_init(void)
|
||||
max_mapnr = MAP_NR(high_memory);
|
||||
|
||||
/* this will put all low memory onto the freelists */
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
|
||||
mem_init_print_info(NULL);
|
||||
}
|
||||
|
@ -21,9 +21,7 @@ config HEXAGON
|
||||
select GENERIC_IRQ_SHOW
|
||||
select HAVE_ARCH_KGDB
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_MEMBLOCK
|
||||
select ARCH_DISCARD_MEMBLOCK
|
||||
select NO_BOOTMEM
|
||||
select NEED_SG_DMA_LENGTH
|
||||
select NO_IOPORT_MAP
|
||||
select GENERIC_IOMAP
|
||||
|
@ -27,9 +27,6 @@
|
||||
#include <asm/registers.h>
|
||||
#include <asm/hexagon_vm.h>
|
||||
|
||||
/* must be a macro */
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l; })
|
||||
|
||||
/* task_struct, defined elsewhere, is the "process descriptor" */
|
||||
struct task_struct;
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/dma-noncoherent.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/genalloc.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/page.h>
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/mmzone.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/seq_file.h>
|
||||
|
@ -20,7 +20,6 @@
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <asm/atomic.h>
|
||||
#include <linux/highmem.h>
|
||||
@ -68,7 +67,7 @@ unsigned long long kmap_generation;
|
||||
void __init mem_init(void)
|
||||
{
|
||||
/* No idea where this is actually declared. Seems to evade LXR. */
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
mem_init_print_info(NULL);
|
||||
|
||||
/*
|
||||
|
@ -26,9 +26,7 @@ config IA64
|
||||
select HAVE_FUNCTION_TRACER
|
||||
select TTY
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_MEMBLOCK
|
||||
select HAVE_MEMBLOCK_NODE_MAP
|
||||
select NO_BOOTMEM
|
||||
select HAVE_VIRT_CPU_ACCOUNTING
|
||||
select ARCH_HAS_DMA_MARK_CLEAN
|
||||
select ARCH_HAS_SG_CHAIN
|
||||
|
@ -602,12 +602,6 @@ ia64_set_unat (__u64 *unat, void *spill_addr, unsigned long nat)
|
||||
*unat = (*unat & ~mask) | (nat << bit);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the current instruction/program counter value.
|
||||
*/
|
||||
#define current_text_addr() \
|
||||
({ void *_pc; _pc = (void *)ia64_getreg(_IA64_REG_IP); _pc; })
|
||||
|
||||
static inline __u64
|
||||
ia64_get_ivr (void)
|
||||
{
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <linux/smp.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/crash_dump.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/kexec.h>
|
||||
#include <linux/elfcore.h>
|
||||
#include <linux/sysctl.h>
|
||||
|
@ -23,7 +23,7 @@
|
||||
* Skip non-WB memory and ignore empty memory ranges.
|
||||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/crash_dump.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -6,7 +6,7 @@
|
||||
#ifdef CONFIG_VIRTUAL_MEM_MAP
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */
|
||||
EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */
|
||||
#endif
|
||||
|
@ -90,7 +90,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/delay.h>
|
||||
#include <asm/hw_irq.h>
|
||||
|
@ -77,7 +77,7 @@
|
||||
#include <linux/sched/task.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/module.h>
|
||||
@ -361,9 +361,9 @@ static ia64_state_log_t ia64_state_log[IA64_MAX_LOG_TYPES];
|
||||
|
||||
#define IA64_LOG_ALLOCATE(it, size) \
|
||||
{ia64_state_log[it].isl_log[IA64_LOG_CURR_INDEX(it)] = \
|
||||
(ia64_err_rec_t *)alloc_bootmem(size); \
|
||||
(ia64_err_rec_t *)memblock_alloc(size, SMP_CACHE_BYTES); \
|
||||
ia64_state_log[it].isl_log[IA64_LOG_NEXT_INDEX(it)] = \
|
||||
(ia64_err_rec_t *)alloc_bootmem(size);}
|
||||
(ia64_err_rec_t *)memblock_alloc(size, SMP_CACHE_BYTES);}
|
||||
#define IA64_LOG_LOCK_INIT(it) spin_lock_init(&ia64_state_log[it].isl_lock)
|
||||
#define IA64_LOG_LOCK(it) spin_lock_irqsave(&ia64_state_log[it].isl_lock, s)
|
||||
#define IA64_LOG_UNLOCK(it) spin_unlock_irqrestore(&ia64_state_log[it].isl_lock,s)
|
||||
@ -1835,8 +1835,8 @@ format_mca_init_stack(void *mca_data, unsigned long offset,
|
||||
/* Caller prevents this from being called after init */
|
||||
static void * __ref mca_bootmem(void)
|
||||
{
|
||||
return __alloc_bootmem(sizeof(struct ia64_mca_cpu),
|
||||
KERNEL_STACK_SIZE, 0);
|
||||
return memblock_alloc_from(sizeof(struct ia64_mca_cpu),
|
||||
KERNEL_STACK_SIZE, 0);
|
||||
}
|
||||
|
||||
/* Do per-CPU MCA-related initialization. */
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/module.h>
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/cpu.h>
|
||||
|
@ -344,10 +344,10 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
|
||||
get_signal(&ksig);
|
||||
|
||||
/*
|
||||
* get_signal_to_deliver() may have run a debugger (via notify_parent())
|
||||
* get_signal() may have run a debugger (via notify_parent())
|
||||
* and the debugger may have modified the state (e.g., to arrange for an
|
||||
* inferior call), thus it's important to check for restarting _after_
|
||||
* get_signal_to_deliver().
|
||||
* get_signal().
|
||||
*/
|
||||
if ((long) scr->pt.r10 != -1)
|
||||
/*
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <linux/node.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/nodemask.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/export.h>
|
||||
|
@ -28,7 +28,7 @@
|
||||
* acquired, then the read-write lock must be acquired first.
|
||||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/elf.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
|
@ -14,7 +14,6 @@
|
||||
* Routines used by ia64 machines with contiguous (or virtually contiguous)
|
||||
* memory.
|
||||
*/
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/efi.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/mm.h>
|
||||
@ -85,8 +84,9 @@ void *per_cpu_init(void)
|
||||
static inline void
|
||||
alloc_per_cpu_data(void)
|
||||
{
|
||||
cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * num_possible_cpus(),
|
||||
PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
|
||||
cpu_data = memblock_alloc_from(PERCPU_PAGE_SIZE * num_possible_cpus(),
|
||||
PERCPU_PAGE_SIZE,
|
||||
__pa(MAX_DMA_ADDRESS));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,7 +19,6 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/nmi.h>
|
||||
#include <linux/swap.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/efi.h>
|
||||
@ -451,8 +450,10 @@ static void __init *memory_less_node_alloc(int nid, unsigned long pernodesize)
|
||||
if (bestnode == -1)
|
||||
bestnode = anynode;
|
||||
|
||||
ptr = __alloc_bootmem_node(pgdat_list[bestnode], pernodesize,
|
||||
PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
|
||||
ptr = memblock_alloc_try_nid(pernodesize, PERCPU_PAGE_SIZE,
|
||||
__pa(MAX_DMA_ADDRESS),
|
||||
MEMBLOCK_ALLOC_ACCESSIBLE,
|
||||
bestnode);
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
@ -8,7 +8,6 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/efi.h>
|
||||
#include <linux/elf.h>
|
||||
#include <linux/memblock.h>
|
||||
@ -447,19 +446,19 @@ int __init create_mem_map_page_table(u64 start, u64 end, void *arg)
|
||||
for (address = start_page; address < end_page; address += PAGE_SIZE) {
|
||||
pgd = pgd_offset_k(address);
|
||||
if (pgd_none(*pgd))
|
||||
pgd_populate(&init_mm, pgd, alloc_bootmem_pages_node(NODE_DATA(node), PAGE_SIZE));
|
||||
pgd_populate(&init_mm, pgd, memblock_alloc_node(PAGE_SIZE, PAGE_SIZE, node));
|
||||
pud = pud_offset(pgd, address);
|
||||
|
||||
if (pud_none(*pud))
|
||||
pud_populate(&init_mm, pud, alloc_bootmem_pages_node(NODE_DATA(node), PAGE_SIZE));
|
||||
pud_populate(&init_mm, pud, memblock_alloc_node(PAGE_SIZE, PAGE_SIZE, node));
|
||||
pmd = pmd_offset(pud, address);
|
||||
|
||||
if (pmd_none(*pmd))
|
||||
pmd_populate_kernel(&init_mm, pmd, alloc_bootmem_pages_node(NODE_DATA(node), PAGE_SIZE));
|
||||
pmd_populate_kernel(&init_mm, pmd, memblock_alloc_node(PAGE_SIZE, PAGE_SIZE, node));
|
||||
pte = pte_offset_kernel(pmd, address);
|
||||
|
||||
if (pte_none(*pte))
|
||||
set_pte(pte, pfn_pte(__pa(alloc_bootmem_pages_node(NODE_DATA(node), PAGE_SIZE)) >> PAGE_SHIFT,
|
||||
set_pte(pte, pfn_pte(__pa(memblock_alloc_node(PAGE_SIZE, PAGE_SIZE, node)) >> PAGE_SHIFT,
|
||||
PAGE_KERNEL));
|
||||
}
|
||||
return 0;
|
||||
@ -627,7 +626,7 @@ mem_init (void)
|
||||
|
||||
set_max_mapnr(max_low_pfn);
|
||||
high_memory = __va(max_low_pfn * PAGE_SIZE);
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
mem_init_print_info(NULL);
|
||||
|
||||
/*
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/node.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/mmzone.h>
|
||||
#include <asm/numa.h>
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <asm/delay.h>
|
||||
@ -59,8 +59,10 @@ struct ia64_tr_entry *ia64_idtrs[NR_CPUS];
|
||||
void __init
|
||||
mmu_context_init (void)
|
||||
{
|
||||
ia64_ctx.bitmap = alloc_bootmem((ia64_ctx.max_ctx+1)>>3);
|
||||
ia64_ctx.flushmap = alloc_bootmem((ia64_ctx.max_ctx+1)>>3);
|
||||
ia64_ctx.bitmap = memblock_alloc((ia64_ctx.max_ctx + 1) >> 3,
|
||||
SMP_CACHE_BYTES);
|
||||
ia64_ctx.flushmap = memblock_alloc((ia64_ctx.max_ctx + 1) >> 3,
|
||||
SMP_CACHE_BYTES);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include <asm/machvec.h>
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <asm/nodedata.h>
|
||||
#include <asm/delay.h>
|
||||
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Copyright (C) 2006 Silicon Graphics, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/sn/types.h>
|
||||
@ -385,16 +385,15 @@ void __init hubdev_init_node(nodepda_t * npda, cnodeid_t node)
|
||||
{
|
||||
struct hubdev_info *hubdev_info;
|
||||
int size;
|
||||
pg_data_t *pg;
|
||||
|
||||
size = sizeof(struct hubdev_info);
|
||||
|
||||
if (node >= num_online_nodes()) /* Headless/memless IO nodes */
|
||||
pg = NODE_DATA(0);
|
||||
else
|
||||
pg = NODE_DATA(node);
|
||||
node = 0;
|
||||
|
||||
hubdev_info = (struct hubdev_info *)alloc_bootmem_node(pg, size);
|
||||
hubdev_info = (struct hubdev_info *)memblock_alloc_node(size,
|
||||
SMP_CACHE_BYTES,
|
||||
node);
|
||||
|
||||
npda->pdinfo = (void *)hubdev_info;
|
||||
}
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/mmzone.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/acpi.h>
|
||||
@ -511,7 +511,8 @@ static void __init sn_init_pdas(char **cmdline_p)
|
||||
*/
|
||||
for_each_online_node(cnode) {
|
||||
nodepdaindr[cnode] =
|
||||
alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t));
|
||||
memblock_alloc_node(sizeof(nodepda_t), SMP_CACHE_BYTES,
|
||||
cnode);
|
||||
memset(nodepdaindr[cnode]->phys_cpuid, -1,
|
||||
sizeof(nodepdaindr[cnode]->phys_cpuid));
|
||||
spin_lock_init(&nodepdaindr[cnode]->ptc_lock);
|
||||
@ -522,7 +523,7 @@ static void __init sn_init_pdas(char **cmdline_p)
|
||||
*/
|
||||
for (cnode = num_online_nodes(); cnode < num_cnodes; cnode++)
|
||||
nodepdaindr[cnode] =
|
||||
alloc_bootmem_node(NODE_DATA(0), sizeof(nodepda_t));
|
||||
memblock_alloc_node(sizeof(nodepda_t), SMP_CACHE_BYTES, 0);
|
||||
|
||||
/*
|
||||
* Now copy the array of nodepda pointers to each nodepda.
|
||||
|
@ -27,9 +27,7 @@ config M68K
|
||||
select OLD_SIGSUSPEND3
|
||||
select OLD_SIGACTION
|
||||
select DMA_DIRECT_OPS if HAS_DMA
|
||||
select HAVE_MEMBLOCK
|
||||
select ARCH_DISCARD_MEMBLOCK
|
||||
select NO_BOOTMEM
|
||||
|
||||
config CPU_BIG_ENDIAN
|
||||
def_bool y
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/pagemap.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/mount.h>
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/module.h>
|
||||
@ -95,7 +95,8 @@ void __init atari_stram_reserve_pages(void *start_mem)
|
||||
{
|
||||
if (kernel_in_stram) {
|
||||
pr_debug("atari_stram pool: kernel in ST-RAM, using alloc_bootmem!\n");
|
||||
stram_pool.start = (resource_size_t)alloc_bootmem_low_pages(pool_size);
|
||||
stram_pool.start = (resource_size_t)memblock_alloc_low(pool_size,
|
||||
PAGE_SIZE);
|
||||
stram_pool.end = stram_pool.start + pool_size - 1;
|
||||
request_resource(&iomem_resource, &stram_pool);
|
||||
stram_virt_offset = 0;
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/coldfire.h>
|
||||
|
@ -8,12 +8,6 @@
|
||||
#ifndef __ASM_M68K_PROCESSOR_H
|
||||
#define __ASM_M68K_PROCESSOR_H
|
||||
|
||||
/*
|
||||
* Default implementation of macro that returns current
|
||||
* instruction pointer ("program counter").
|
||||
*/
|
||||
#define current_text_addr() ({ __label__ _l; _l: &&_l;})
|
||||
|
||||
#include <linux/thread_info.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/fpu.h>
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/seq_file.h>
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <linux/console.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/console.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/initrd.h>
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
@ -93,7 +93,7 @@ void __init paging_init(void)
|
||||
|
||||
high_memory = (void *) end_mem;
|
||||
|
||||
empty_zero_page = alloc_bootmem_pages(PAGE_SIZE);
|
||||
empty_zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
/*
|
||||
* Set up SFC/DFC registers (user data space).
|
||||
@ -140,7 +140,7 @@ static inline void init_pointer_tables(void)
|
||||
void __init mem_init(void)
|
||||
{
|
||||
/* this will put all memory onto the freelists */
|
||||
free_all_bootmem();
|
||||
memblock_free_all();
|
||||
init_pointer_tables();
|
||||
mem_init_print_info(NULL);
|
||||
}
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
@ -44,7 +43,7 @@ void __init paging_init(void)
|
||||
enum zone_type zone;
|
||||
int i;
|
||||
|
||||
empty_zero_page = (void *) alloc_bootmem_pages(PAGE_SIZE);
|
||||
empty_zero_page = (void *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
memset((void *) empty_zero_page, 0, PAGE_SIZE);
|
||||
|
||||
pg_dir = swapper_pg_dir;
|
||||
@ -52,7 +51,7 @@ void __init paging_init(void)
|
||||
|
||||
size = num_pages * sizeof(pte_t);
|
||||
size = (size + PAGE_SIZE) & ~(PAGE_SIZE-1);
|
||||
next_pgtable = (unsigned long) alloc_bootmem_pages(size);
|
||||
next_pgtable = (unsigned long) memblock_alloc(size, PAGE_SIZE);
|
||||
|
||||
bootmem_end = (next_pgtable + size + PAGE_SIZE) & PAGE_MASK;
|
||||
pg_dir += PAGE_OFFSET >> PGDIR_SHIFT;
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/gfp.h>
|
||||
|
||||
@ -55,7 +54,7 @@ static pte_t * __init kernel_page_table(void)
|
||||
{
|
||||
pte_t *ptablep;
|
||||
|
||||
ptablep = (pte_t *)alloc_bootmem_low_pages(PAGE_SIZE);
|
||||
ptablep = (pte_t *)memblock_alloc_low(PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
clear_page(ptablep);
|
||||
__flush_page_to_ram(ptablep);
|
||||
@ -95,7 +94,8 @@ static pmd_t * __init kernel_ptr_table(void)
|
||||
|
||||
last_pgtable += PTRS_PER_PMD;
|
||||
if (((unsigned long)last_pgtable & ~PAGE_MASK) == 0) {
|
||||
last_pgtable = (pmd_t *)alloc_bootmem_low_pages(PAGE_SIZE);
|
||||
last_pgtable = (pmd_t *)memblock_alloc_low(PAGE_SIZE,
|
||||
PAGE_SIZE);
|
||||
|
||||
clear_page(last_pgtable);
|
||||
__flush_page_to_ram(last_pgtable);
|
||||
@ -275,7 +275,7 @@ void __init paging_init(void)
|
||||
* initialize the bad page table and bad page to point
|
||||
* to a couple of allocated pages
|
||||
*/
|
||||
empty_zero_page = alloc_bootmem_pages(PAGE_SIZE);
|
||||
empty_zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
/*
|
||||
* Set up SFC/DFC registers
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
#include <linux/uaccess.h>
|
||||
@ -45,7 +45,7 @@ void __init paging_init(void)
|
||||
unsigned long zones_size[MAX_NR_ZONES] = { 0, };
|
||||
unsigned long size;
|
||||
|
||||
empty_zero_page = alloc_bootmem_pages(PAGE_SIZE);
|
||||
empty_zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
address = PAGE_OFFSET;
|
||||
pg_dir = swapper_pg_dir;
|
||||
@ -55,7 +55,7 @@ void __init paging_init(void)
|
||||
size = num_pages * sizeof(pte_t);
|
||||
size = (size + PAGE_SIZE) & ~(PAGE_SIZE-1);
|
||||
|
||||
next_pgtable = (unsigned long)alloc_bootmem_pages(size);
|
||||
next_pgtable = (unsigned long)memblock_alloc(size, PAGE_SIZE);
|
||||
bootmem_end = (next_pgtable + size + PAGE_SIZE) & PAGE_MASK;
|
||||
|
||||
/* Map whole memory from PAGE_OFFSET (0x0E000000) */
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <linux/tty.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <asm/oplib.h>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user