mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 04:34:08 +08:00
kernel/resource: move and rename IORESOURCE_MEM_DRIVER_MANAGED
IORESOURCE_MEM_DRIVER_MANAGED currently uses an unused PnP bit, which is always set to 0 by hardware. This is far from beautiful (and confusing), and the bit only applies to SYSRAM. So let's move it out of the bus-specific (PnP) defined bits. We'll add another SYSRAM specific bit soon. If we ever need more bits for other purposes, we can steal some from "desc", or reshuffle/regroup what we have. Signed-off-by: David Hildenbrand <david@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kees Cook <keescook@chromium.org> Cc: Ard Biesheuvel <ardb@kernel.org> Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com> Cc: Baoquan He <bhe@redhat.com> Cc: Wei Yang <richardw.yang@linux.intel.com> Cc: Eric Biederman <ebiederm@xmission.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Anton Blanchard <anton@ozlabs.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Dave Jiang <dave.jiang@intel.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Jason Wang <jasowang@redhat.com> Cc: Juergen Gross <jgross@suse.com> Cc: Julien Grall <julien@xen.org> Cc: "K. Y. Srinivasan" <kys@microsoft.com> Cc: Len Brown <lenb@kernel.org> Cc: Leonardo Bras <leobras.c@gmail.com> Cc: Libor Pechacek <lpechacek@suse.cz> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Nathan Lynch <nathanl@linux.ibm.com> Cc: "Oliver O'Halloran" <oohall@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Pingfan Liu <kernelfans@gmail.com> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Cc: Roger Pau Monné <roger.pau@citrix.com> Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: Stephen Hemminger <sthemmin@microsoft.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Vishal Verma <vishal.l.verma@intel.com> Cc: Wei Liu <wei.liu@kernel.org> Link: https://lkml.kernel.org/r/20200911103459.10306-3-david@redhat.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ec62d04e3f
commit
7cf603d17d
@ -58,6 +58,9 @@ struct resource {
|
||||
#define IORESOURCE_EXT_TYPE_BITS 0x01000000 /* Resource extended types */
|
||||
#define IORESOURCE_SYSRAM 0x01000000 /* System RAM (modifier) */
|
||||
|
||||
/* IORESOURCE_SYSRAM specific bits. */
|
||||
#define IORESOURCE_SYSRAM_DRIVER_MANAGED 0x02000000 /* Always detected via a driver. */
|
||||
|
||||
#define IORESOURCE_EXCLUSIVE 0x08000000 /* Userland may not map this resource */
|
||||
|
||||
#define IORESOURCE_DISABLED 0x10000000
|
||||
@ -103,7 +106,6 @@ struct resource {
|
||||
#define IORESOURCE_MEM_32BIT (3<<3)
|
||||
#define IORESOURCE_MEM_SHADOWABLE (1<<5) /* dup: IORESOURCE_SHADOWABLE */
|
||||
#define IORESOURCE_MEM_EXPANSIONROM (1<<6)
|
||||
#define IORESOURCE_MEM_DRIVER_MANAGED (1<<7)
|
||||
|
||||
/* PnP I/O specific bits (IORESOURCE_BITS) */
|
||||
#define IORESOURCE_IO_16BIT_ADDR (1<<0)
|
||||
|
@ -521,7 +521,7 @@ static int locate_mem_hole_callback(struct resource *res, void *arg)
|
||||
/* Returning 0 will take to next memory range */
|
||||
|
||||
/* Don't use memory that will be detected and handled by a driver. */
|
||||
if (res->flags & IORESOURCE_MEM_DRIVER_MANAGED)
|
||||
if (res->flags & IORESOURCE_SYSRAM_DRIVER_MANAGED)
|
||||
return 0;
|
||||
|
||||
if (sz < kbuf->memsz)
|
||||
|
@ -105,7 +105,7 @@ static struct resource *register_memory_resource(u64 start, u64 size,
|
||||
unsigned long flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY;
|
||||
|
||||
if (strcmp(resource_name, "System RAM"))
|
||||
flags |= IORESOURCE_MEM_DRIVER_MANAGED;
|
||||
flags |= IORESOURCE_SYSRAM_DRIVER_MANAGED;
|
||||
|
||||
/*
|
||||
* Make sure value parsed from 'mem=' only restricts memory adding
|
||||
@ -1161,7 +1161,7 @@ EXPORT_SYMBOL_GPL(add_memory);
|
||||
*
|
||||
* For this memory, no entries in /sys/firmware/memmap ("raw firmware-provided
|
||||
* memory map") are created. Also, the created memory resource is flagged
|
||||
* with IORESOURCE_MEM_DRIVER_MANAGED, so in-kernel users can special-case
|
||||
* with IORESOURCE_SYSRAM_DRIVER_MANAGED, so in-kernel users can special-case
|
||||
* this memory as well (esp., not place kexec images onto it).
|
||||
*
|
||||
* The resource_name (visible via /proc/iomem) has to have the format
|
||||
|
Loading…
Reference in New Issue
Block a user