lkml.org 
[lkml]   [2008]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 47/56] microblaze_v2: device.h param.h topology.h
    Date
    From: Michal Simek <monstr@monstr.eu>


    Signed-off-by: Michal Simek <monstr@monstr.eu>
    ---
    include/asm-microblaze/device.h | 27 ++++++++
    include/asm-microblaze/param.h | 36 +++++++++++
    include/asm-microblaze/topology.h | 119 +++++++++++++++++++++++++++++++++++++
    3 files changed, 182 insertions(+), 0 deletions(-)
    create mode 100644 include/asm-microblaze/device.h
    create mode 100644 include/asm-microblaze/param.h
    create mode 100644 include/asm-microblaze/topology.h

    diff --git a/include/asm-microblaze/device.h b/include/asm-microblaze/device.h
    new file mode 100644
    index 0000000..c0e203c
    --- /dev/null
    +++ b/include/asm-microblaze/device.h
    @@ -0,0 +1,27 @@
    +/*
    + * Arch specific extensions to struct device
    + *
    + * This file is released under the GPLv2
    + */
    +
    +#ifndef _ASM_MICROBLAZE_DEVICE_H
    +#define _ASM_MICROBLAZE_DEVICE_H
    +
    +struct dma_mapping_ops;
    +struct device_node;
    +
    +struct dev_archdata {
    + /* Optional pointer to an OF device node */
    + struct device_node *of_node;
    +
    + /* DMA operations on that device */
    + struct dma_mapping_ops *dma_ops;
    + void *dma_data;
    +
    + /* NUMA node if applicable */
    + int numa_node;
    +};
    +
    +#endif /* _ASM_MICROBLAZE_DEVICE_H */
    +
    +
    diff --git a/include/asm-microblaze/param.h b/include/asm-microblaze/param.h
    new file mode 100644
    index 0000000..e6873a9
    --- /dev/null
    +++ b/include/asm-microblaze/param.h
    @@ -0,0 +1,36 @@
    +/*
    + * include/asm-microblaze/param.h
    + *
    + * This file is subject to the terms and conditions of the GNU General Public
    + * License. See the file "COPYING" in the main directory of this archive
    + * for more details.
    + *
    + * Copyright (C) 2006 Atmark Techno, Inc.
    + */
    +
    +#ifndef _ASM_MICROBLAZE_PARAM_H
    +#define _ASM_MICROBLAZE_PARAM_H
    +
    +#ifdef __KERNEL__
    +# define HZ 100 /* internal timer frequency */
    +# define USER_HZ 100 /* for user interfaces in "ticks" */
    +# define CLOCKS_PER_SEC (USER_HZ) /* frequnzy at which times() counts */
    +#endif
    +
    +#ifndef NGROUPS
    +#define NGROUPS 32
    +#endif
    +
    +#ifndef NOGROUP
    +#define NOGROUP (-1)
    +#endif
    +
    +#define EXEC_PAGESIZE 4096
    +
    +#ifndef HZ
    +#define HZ 100
    +#endif
    +
    +#define MAXHOSTNAMELEN 64 /* max length of hostname */
    +
    +#endif /* _ASM_MICROBLAZE_PARAM_H */
    diff --git a/include/asm-microblaze/topology.h b/include/asm-microblaze/topology.h
    new file mode 100644
    index 0000000..07fa28a
    --- /dev/null
    +++ b/include/asm-microblaze/topology.h
    @@ -0,0 +1,119 @@
    +/*
    + * include/asm-microblaze/topology.h
    + *
    + * This file is subject to the terms and conditions of the GNU General Public
    + * License. See the file "COPYING" in the main directory of this archive
    + * for more details.
    + *
    + * Copyright (C) 2006 Atmark Techno, Inc.
    + */
    +
    +#ifndef _ASM_MICROBLAZE_TOPOLOGY_H
    +#define _ASM_MICROBLAZE_TOPOLOGY_H
    +#ifdef __KERNEL__
    +
    +struct sys_device;
    +struct device_node;
    +
    +#ifdef CONFIG_NUMA
    +
    +#include <asm/mmzone.h>
    +
    +static inline int cpu_to_node(int cpu)
    +{
    + return numa_cpu_lookup_table[cpu];
    +}
    +
    +#define parent_node(node) (node)
    +
    +static inline cpumask_t node_to_cpumask(int node)
    +{
    + return numa_cpumask_lookup_table[node];
    +}
    +
    +static inline int node_to_first_cpu(int node)
    +{
    + cpumask_t tmp;
    + tmp = node_to_cpumask(node);
    + return first_cpu(tmp);
    +}
    +
    +int of_node_to_nid(struct device_node *device);
    +
    +struct pci_bus;
    +#ifdef CONFIG_PCI
    +extern int pcibus_to_node(struct pci_bus *bus);
    +#else
    +static inline int pcibus_to_node(struct pci_bus *bus)
    +{
    + return -1;
    +}
    +#endif
    +
    +#define pcibus_to_cpumask(bus) (pcibus_to_node(bus) == -1 ? \
    + CPU_MASK_ALL : \
    + node_to_cpumask(pcibus_to_node(bus)) \
    + )
    +
    +/* sched_domains SD_NODE_INIT for PPC64 machines */
    +#define SD_NODE_INIT (struct sched_domain) { \
    + .span = CPU_MASK_NONE, \
    + .parent = NULL, \
    + .child = NULL, \
    + .groups = NULL, \
    + .min_interval = 8, \
    + .max_interval = 32, \
    + .busy_factor = 32, \
    + .imbalance_pct = 125, \
    + .cache_nice_tries = 1, \
    + .busy_idx = 3, \
    + .idle_idx = 1, \
    + .newidle_idx = 2, \
    + .wake_idx = 1, \
    + .flags = SD_LOAD_BALANCE \
    + | SD_BALANCE_EXEC \
    + | SD_BALANCE_NEWIDLE \
    + | SD_WAKE_IDLE \
    + | SD_SERIALIZE \
    + | SD_WAKE_BALANCE, \
    + .last_balance = jiffies, \
    + .balance_interval = 1, \
    + .nr_balance_failed = 0, \
    +}
    +
    +extern void __init dump_numa_cpu_topology(void);
    +
    +extern int sysfs_add_device_to_node(struct sys_device *dev, int nid);
    +extern void sysfs_remove_device_from_node(struct sys_device *dev, int nid);
    +
    +#else
    +
    +static inline int of_node_to_nid(struct device_node *device)
    +{
    + return 0;
    +}
    +
    +static inline void dump_numa_cpu_topology(void) {}
    +
    +static inline int sysfs_add_device_to_node(struct sys_device *dev, int nid)
    +{
    + return 0;
    +}
    +
    +static inline void sysfs_remove_device_from_node(struct sys_device *dev,
    + int nid)
    +{
    +}
    +
    +#include <asm-generic/topology.h>
    +
    +#endif /* CONFIG_NUMA */
    +
    +#ifdef CONFIG_SMP
    +#include <asm/cputable.h>
    +#define smt_capable() (cpu_has_feature(CPU_FTR_SMT))
    +
    +#endif
    +
    +#endif /* __KERNEL__ */
    +#endif /* _ASM_MICROBLAZE_TOPOLOGY_H */
    --
    1.5.4.GIT


    \
     
     \ /
      Last update: 2008-05-04 19:03    [W:0.030 / U:0.180 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site