mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/include: introduce resource.h
Move resource definitions to a new architecture-agnostic shared header file. Signed-off-by: Denis Mukhin <dmukhin@ford.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
1 parent
29a9638fd4
commit
1b861bd95e
3 files changed
+38
-35
No files matched your search
@@ -24,6 +24,7 @@
|
||||
#include <xen/ctype.h>
|
||||
#include <asm/setup.h>
|
||||
#include <xen/err.h>
|
||||
#include <xen/resource.h>
|
||||
|
||||
const void *device_tree_flattened;
|
||||
dt_irq_xlate_func dt_irq_xlate;
|
||||
@@ -535,26 +536,6 @@ int dt_child_n_size_cells(const struct dt_device_node *parent)
|
||||
return __dt_n_size_cells(parent, true);
|
||||
}
|
||||
|
||||
/*
|
||||
* These are defined in Linux where much of this code comes from, but
|
||||
* are currently unused outside this file in the context of Xen.
|
||||
*/
|
||||
#define IORESOURCE_BITS 0x000000ff /* Bus-specific bits */
|
||||
|
||||
#define IORESOURCE_TYPE_BITS 0x00001f00 /* Resource type */
|
||||
#define IORESOURCE_IO 0x00000100 /* PCI/ISA I/O ports */
|
||||
#define IORESOURCE_MEM 0x00000200
|
||||
#define IORESOURCE_REG 0x00000300 /* Register offsets */
|
||||
#define IORESOURCE_IRQ 0x00000400
|
||||
#define IORESOURCE_DMA 0x00000800
|
||||
#define IORESOURCE_BUS 0x00001000
|
||||
|
||||
#define IORESOURCE_PREFETCH 0x00002000 /* No side effects */
|
||||
#define IORESOURCE_READONLY 0x00004000
|
||||
#define IORESOURCE_CACHEABLE 0x00008000
|
||||
#define IORESOURCE_RANGELENGTH 0x00010000
|
||||
#define IORESOURCE_SHADOWABLE 0x00020000
|
||||
|
||||
/*
|
||||
* Default translator (generic bus)
|
||||
*/
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
#include <xen/rbtree.h>
|
||||
#include <xen/sched.h>
|
||||
#include <xen/sizes.h>
|
||||
#include <xen/resource.h>
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/device.h>
|
||||
#include <asm/io.h>
|
||||
@@ -64,6 +65,8 @@
|
||||
|
||||
/* Alias to Xen device tree helpers */
|
||||
#define device_node dt_device_node
|
||||
#define platform_device dt_device_node
|
||||
|
||||
#define of_phandle_args dt_phandle_args
|
||||
#define of_device_id dt_device_match
|
||||
#define of_match_node dt_match_node
|
||||
@@ -71,21 +74,6 @@
|
||||
#define of_property_read_bool dt_property_read_bool
|
||||
#define of_parse_phandle_with_args dt_parse_phandle_with_args
|
||||
|
||||
/* Xen: Helpers to get device MMIO and IRQs */
|
||||
struct resource
|
||||
{
|
||||
paddr_t addr;
|
||||
paddr_t size;
|
||||
unsigned int type;
|
||||
};
|
||||
|
||||
#define resource_size(res) (res)->size;
|
||||
|
||||
#define platform_device dt_device_node
|
||||
|
||||
#define IORESOURCE_MEM 0
|
||||
#define IORESOURCE_IRQ 1
|
||||
|
||||
static struct resource *platform_get_resource(struct platform_device *pdev,
|
||||
unsigned int type,
|
||||
unsigned int num)
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* System resource description.
|
||||
*/
|
||||
#ifndef XEN__RESOURCE_H
|
||||
#define XEN__RESOURCE_H
|
||||
|
||||
#define IORESOURCE_BITS 0x000000FFU /* Bus-specific bits */
|
||||
|
||||
#define IORESOURCE_TYPE_BITS 0x00001F00U /* Resource type */
|
||||
#define IORESOURCE_IO 0x00000100U /* PCI/ISA I/O ports */
|
||||
#define IORESOURCE_MEM 0x00000200U
|
||||
#define IORESOURCE_REG 0x00000300U /* Register offsets */
|
||||
#define IORESOURCE_IRQ 0x00000400U
|
||||
#define IORESOURCE_DMA 0x00000800U
|
||||
#define IORESOURCE_BUS 0x00001000U
|
||||
|
||||
#define IORESOURCE_PREFETCH 0x00002000U /* No side effects */
|
||||
#define IORESOURCE_READONLY 0x00004000U
|
||||
#define IORESOURCE_CACHEABLE 0x00008000U
|
||||
#define IORESOURCE_RANGELENGTH 0x00010000U
|
||||
#define IORESOURCE_SHADOWABLE 0x00020000U
|
||||
|
||||
#define IORESOURCE_UNKNOWN (~0U)
|
||||
|
||||
struct resource {
|
||||
paddr_t addr;
|
||||
paddr_t size;
|
||||
unsigned int type;
|
||||
};
|
||||
|
||||
#define resource_size(res) ((res)->size)
|
||||
|
||||
#endif /* XEN__RESOURCE_H */
|
||||