__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2001 Dave Engebretsen & Todd Inglett IBM Corporation.
* Copyright 2001-2012 IBM Corporation.
*/
#ifndef _POWERPC_EEH_H
#define _POWERPC_EEH_H
#ifdef __KERNEL__
#include <linux/init.h>
#include <linux/list.h>
#include <linux/string.h>
#include <linux/time.h>
#include <linux/atomic.h>
#include <uapi/asm/eeh.h>
struct pci_dev;
struct pci_bus;
struct pci_dn;
#ifdef CONFIG_EEH
/* EEH subsystem flags */
#define EEH_ENABLED 0x01 /* EEH enabled */
#define EEH_FORCE_DISABLED 0x02 /* EEH disabled */
#define EEH_PROBE_MODE_DEV 0x04 /* From PCI device */
#define EEH_PROBE_MODE_DEVTREE 0x08 /* From device tree */
#define EEH_ENABLE_IO_FOR_LOG 0x20 /* Enable IO for log */
#define EEH_EARLY_DUMP_LOG 0x40 /* Dump log immediately */
/*
* Delay for PE reset, all in ms
*
* PCI specification has reset hold time of 100 milliseconds.
* We have 250 milliseconds here. The PCI bus settlement time
* is specified as 1.5 seconds and we have 1.8 seconds.
*/
#define EEH_PE_RST_HOLD_TIME 250
#define EEH_PE_RST_SETTLE_TIME 1800
/*
* The struct is used to trace PE related EEH functionality.
* In theory, there will have one instance of the struct to
* be created against particular PE. In nature, PEs correlate
* to each other. the struct has to reflect that hierarchy in
* order to easily pick up those affected PEs when one particular
* PE has EEH errors.
*
* Also, one particular PE might be composed of PCI device, PCI
* bus and its subordinate components. The struct also need ship
* the information. Further more, one particular PE is only meaingful
* in the corresponding PHB. Therefore, the root PEs should be created
* against existing PHBs in on-to-one fashion.
*/
#define EEH_PE_INVALID (1 << 0) /* Invalid */
#define EEH_PE_PHB (1 << 1) /* PHB PE */
#define EEH_PE_DEVICE (1 << 2) /* Device PE */
#define EEH_PE_BUS (1 << 3) /* Bus PE */
#define EEH_PE_VF (1 << 4) /* VF PE */
#define EEH_PE_ISOLATED (1 << 0) /* Isolated PE */
#define EEH_PE_RECOVERING (1 << 1) /* Recovering PE */
#define EEH_PE_CFG_BLOCKED (1 << 2) /* Block config access */
#define EEH_PE_RESET (1 << 3) /* PE reset in progress */
#define EEH_PE_KEEP (1 << 8) /* Keep PE on hotplug */
#define EEH_PE_CFG_RESTRICTED (1 << 9) /* Block config on error */
#define EEH_PE_REMOVED (1 << 10) /* Removed permanently */
#define EEH_PE_PRI_BUS (1 << 11) /* Cached primary bus */
struct eeh_pe {
int type; /* PE type: PHB/Bus/Device */
int state; /* PE EEH dependent mode */
int addr; /* PE configuration address */
struct pci_controller *phb; /* Associated PHB */
struct pci_bus *bus; /* Top PCI bus for bus PE */
int check_count; /* Times of ignored error */
int freeze_count; /* Times of froze up */
time64_t tstamp; /* Time on first-time freeze */
int false_positives; /* Times of reported #ff's */
atomic_t pass_dev_cnt; /* Count of passed through devs */
struct eeh_pe *parent; /* Parent PE */
void *data; /* PE auxiliary data */
struct list_head child_list; /* List of PEs below this PE */
struct list_head child; /* Memb. child_list/eeh_phb_pe */
struct list_head edevs; /* List of eeh_dev in this PE */
#ifdef CONFIG_STACKTRACE
/*
* Saved stack trace. When we find a PE freeze in eeh_dev_check_failure
* the stack trace is saved here so we can print it in the recovery
* thread if it turns out to due to a real problem rather than
* a hot-remove.
*
* A max of 64 entries might be overkill, but it also might not be.
*/
unsigned long stack_trace[64];
int trace_entries;
#endif /* CONFIG_STACKTRACE */
};
#define eeh_pe_for_each_dev(pe, edev, tmp) \
list_for_each_entry_safe(edev, tmp, &pe->edevs, entry)
#define eeh_for_each_pe(root, pe) \
for (pe = root; pe; pe = eeh_pe_next(pe, root))
static inline bool eeh_pe_passed(struct eeh_pe *pe)
{
return pe ? !!atomic_read(&pe->pass_dev_cnt) : false;
}
/*
* The struct is used to trace EEH state for the associated
* PCI device node or PCI device. In future, it might
* represent PE as well so that the EEH device to form
* another tree except the currently existing tree of PCI
* buses and PCI devices
*/
#define EEH_DEV_BRIDGE (1 << 0) /* PCI bridge */
#define EEH_DEV_ROOT_PORT (1 << 1) /* PCIe root port */
#define EEH_DEV_DS_PORT (1 << 2) /* Downstream port */
#define EEH_DEV_IRQ_DISABLED (1 << 3) /* Interrupt disabled */
#define EEH_DEV_DISCONNECTED (1 << 4) /* Removing from PE */
#define EEH_DEV_NO_HANDLER (1 << 8) /* No error handler */
#define EEH_DEV_SYSFS (1 << 9) /* Sysfs created */
#define EEH_DEV_REMOVED (1 << 10) /* Removed permanently */
struct eeh_dev {
int mode; /* EEH mode */
int bdfn; /* bdfn of device (for cfg ops) */
struct pci_controller *controller;
int pe_config_addr; /* PE config address */
u32 config_space[16]; /* Saved PCI config space */
int pcix_cap; /* Saved PCIx capability */
int pcie_cap; /* Saved PCIe capability */
int aer_cap; /* Saved AER capability */
int af_cap; /* Saved AF capability */
struct eeh_pe *pe; /* Associated PE */
struct list_head entry; /* Membership in eeh_pe.edevs */
struct list_head rmv_entry; /* Membership in rmv_list */
struct pci_dn *pdn; /* Associated PCI device node */
struct pci_dev *pdev; /* Associated PCI device */
bool in_error; /* Error flag for edev */
/* VF specific properties */
struct pci_dev *physfn; /* Associated SRIOV PF */
int vf_index; /* Index of this VF */
};
/* "fmt" must be a simple literal string */
#define EEH_EDEV_PRINT(level, edev, fmt, ...) \
pr_##level("PCI %04x:%02x:%02x.%x#%04x: EEH: " fmt, \
(edev)->controller->global_number, PCI_BUSNO((edev)->bdfn), \
PCI_SLOT((edev)->bdfn), PCI_FUNC((edev)->bdfn), \
((edev)->pe ? (edev)->pe_config_addr : 0xffff), ##__VA_ARGS__)
#define eeh_edev_dbg(edev, fmt, ...) EEH_EDEV_PRINT(debug, (edev), fmt, ##__VA_ARGS__)
#define eeh_edev_info(edev, fmt, ...) EEH_EDEV_PRINT(info, (edev), fmt, ##__VA_ARGS__)
#define eeh_edev_warn(edev, fmt, ...) EEH_EDEV_PRINT(warn, (edev), fmt, ##__VA_ARGS__)
#define eeh_edev_err(edev, fmt, ...) EEH_EDEV_PRINT(err, (edev), fmt, ##__VA_ARGS__)
static inline struct pci_dn *eeh_dev_to_pdn(struct eeh_dev *edev)
{
return edev ? edev->pdn : NULL;
}
static inline struct pci_dev *eeh_dev_to_pci_dev(struct eeh_dev *edev)
{
return edev ? edev->pdev : NULL;
}
static inline struct eeh_pe *eeh_dev_to_pe(struct eeh_dev* edev)
{
return edev ? edev->pe : NULL;
}
/* Return values from eeh_ops::next_error */
enum {
EEH_NEXT_ERR_NONE = 0,
EEH_NEXT_ERR_INF,
EEH_NEXT_ERR_FROZEN_PE,
EEH_NEXT_ERR_FENCED_PHB,
EEH_NEXT_ERR_DEAD_PHB,
EEH_NEXT_ERR_DEAD_IOC
};
/*
* The struct is used to trace the registered EEH operation
* callback functions. Actually, those operation callback
* functions are heavily platform dependent. That means the
* platform should register its own EEH operation callback
* functions before any EEH further operations.
*/
#define EEH_OPT_DISABLE 0 /* EEH disable */
#define EEH_OPT_ENABLE 1 /* EEH enable */
#define EEH_OPT_THAW_MMIO 2 /* MMIO enable */
#define EEH_OPT_THAW_DMA 3 /* DMA enable */
#define EEH_OPT_FREEZE_PE 4 /* Freeze PE */
#define EEH_STATE_UNAVAILABLE (1 << 0) /* State unavailable */
#define EEH_STATE_NOT_SUPPORT (1 << 1) /* EEH not supported */
#define EEH_STATE_RESET_ACTIVE (1 << 2) /* Active reset */
#define EEH_STATE_MMIO_ACTIVE (1 << 3) /* Active MMIO */
#define EEH_STATE_DMA_ACTIVE (1 << 4) /* Active DMA */
#define EEH_STATE_MMIO_ENABLED (1 << 5) /* MMIO enabled */
#define EEH_STATE_DMA_ENABLED (1 << 6) /* DMA enabled */
#define EEH_RESET_DEACTIVATE 0 /* Deactivate the PE reset */
#define EEH_RESET_HOT 1 /* Hot reset */
#define EEH_RESET_FUNDAMENTAL 3 /* Fundamental reset */
#define EEH_LOG_TEMP 1 /* EEH temporary error log */
#define EEH_LOG_PERM 2 /* EEH permanent error log */
struct eeh_ops {
char *name;
struct eeh_dev *(*probe)(struct pci_dev *pdev);
int (*set_option)(struct eeh_pe *pe, int option);
int (*get_state)(struct eeh_pe *pe, int *delay);
int (*reset)(struct eeh_pe *pe, int option);
int (*get_log)(struct eeh_pe *pe, int severity, char *drv_log, unsigned long len);
int (*configure_bridge)(struct eeh_pe *pe);
int (*err_inject)(struct eeh_pe *pe, int type, int func,
unsigned long addr, unsigned long mask);
int (*read_config)(struct eeh_dev *edev, int where, int size, u32 *val);
int (*write_config)(struct eeh_dev *edev, int where, int size, u32 val);
int (*next_error)(struct eeh_pe **pe);
int (*restore_config)(struct eeh_dev *edev);
int (*notify_resume)(struct eeh_dev *edev);
};
extern int eeh_subsystem_flags;
extern u32 eeh_max_freezes;
extern bool eeh_debugfs_no_recover;
extern struct eeh_ops *eeh_ops;
extern raw_spinlock_t confirm_error_lock;
static inline void eeh_add_flag(int flag)
{
eeh_subsystem_flags |= flag;
}
static inline void eeh_clear_flag(int flag)
{
eeh_subsystem_flags &= ~flag;
}
static inline bool eeh_has_flag(int flag)
{
return !!(eeh_subsystem_flags & flag);
}
static inline bool eeh_enabled(void)
{
return eeh_has_flag(EEH_ENABLED) && !eeh_has_flag(EEH_FORCE_DISABLED);
}
static inline void eeh_serialize_lock(unsigned long *flags)
{
raw_spin_lock_irqsave(&confirm_error_lock, *flags);
}
static inline void eeh_serialize_unlock(unsigned long flags)
{
raw_spin_unlock_irqrestore(&confirm_error_lock, flags);
}
static inline bool eeh_state_active(int state)
{
return (state & (EEH_STATE_MMIO_ACTIVE | EEH_STATE_DMA_ACTIVE))
== (EEH_STATE_MMIO_ACTIVE | EEH_STATE_DMA_ACTIVE);
}
typedef void (*eeh_edev_traverse_func)(struct eeh_dev *edev, void *flag);
typedef void *(*eeh_pe_traverse_func)(struct eeh_pe *pe, void *flag);
void eeh_set_pe_aux_size(int size);
int eeh_phb_pe_create(struct pci_controller *phb);
int eeh_wait_state(struct eeh_pe *pe, int max_wait);
struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb);
struct eeh_pe *eeh_pe_next(struct eeh_pe *pe, struct eeh_pe *root);
struct eeh_pe *eeh_pe_get(struct pci_controller *phb, int pe_no);
int eeh_pe_tree_insert(struct eeh_dev *edev, struct eeh_pe *new_pe_parent);
int eeh_pe_tree_remove(struct eeh_dev *edev);
void eeh_pe_update_time_stamp(struct eeh_pe *pe);
void *eeh_pe_traverse(struct eeh_pe *root,
eeh_pe_traverse_func fn, void *flag);
void eeh_pe_dev_traverse(struct eeh_pe *root,
eeh_edev_traverse_func fn, void *flag);
void eeh_pe_restore_bars(struct eeh_pe *pe);
const char *eeh_pe_loc_get(struct eeh_pe *pe);
struct pci_bus *eeh_pe_bus_get(struct eeh_pe *pe);
void eeh_show_enabled(void);
int __init eeh_init(struct eeh_ops *ops);
int eeh_check_failure(const volatile void __iomem *token);
int eeh_dev_check_failure(struct eeh_dev *edev);
void eeh_addr_cache_init(void);
void eeh_probe_device(struct pci_dev *pdev);
void eeh_remove_device(struct pci_dev *);
int eeh_unfreeze_pe(struct eeh_pe *pe);
int eeh_pe_reset_and_recover(struct eeh_pe *pe);
int eeh_dev_open(struct pci_dev *pdev);
void eeh_dev_release(struct pci_dev *pdev);
struct eeh_pe *eeh_iommu_group_to_pe(struct iommu_group *group);
int eeh_pe_set_option(struct eeh_pe *pe, int option);
int eeh_pe_get_state(struct eeh_pe *pe);
int eeh_pe_reset(struct eeh_pe *pe, int option, bool include_passed);
int eeh_pe_configure(struct eeh_pe *pe);
int eeh_pe_inject_err(struct eeh_pe *pe, int type, int func,
unsigned long addr, unsigned long mask);
int eeh_pe_inject_mmio_error(struct pci_dev *pdev);
/**
* EEH_POSSIBLE_ERROR() -- test for possible MMIO failure.
*
* If this macro yields TRUE, the caller relays to eeh_check_failure()
* which does further tests out of line.
*/
#define EEH_POSSIBLE_ERROR(val, type) ((val) == (type)~0 && eeh_enabled())
/*
* Reads from a device which has been isolated by EEH will return
* all 1s. This macro gives an all-1s value of the given size (in
* bytes: 1, 2, or 4) for comparing with the result of a read.
*/
#define EEH_IO_ERROR_VALUE(size) (~0U >> ((4 - (size)) * 8))
#else /* !CONFIG_EEH */
static inline bool eeh_enabled(void)
{
return false;
}
static inline void eeh_show_enabled(void) { }
static inline int eeh_check_failure(const volatile void __iomem *token)
{
return 0;
}
#define eeh_dev_check_failure(x) (0)
static inline void eeh_addr_cache_init(void) { }
static inline void eeh_probe_device(struct pci_dev *dev) { }
static inline void eeh_remove_device(struct pci_dev *dev) { }
#define EEH_POSSIBLE_ERROR(val, type) (0)
#define EEH_IO_ERROR_VALUE(size) (-1UL)
static inline int eeh_phb_pe_create(struct pci_controller *phb) { return 0; }
#endif /* CONFIG_EEH */
#if defined(CONFIG_PPC_PSERIES) && defined(CONFIG_EEH)
void pseries_eeh_init_edev_recursive(struct pci_dn *pdn);
#endif
#ifdef CONFIG_PPC64
/*
* MMIO read/write operations with EEH support.
*/
static inline u8 eeh_readb(const volatile void __iomem *addr)
{
u8 val = in_8(addr);
if (EEH_POSSIBLE_ERROR(val, u8))
eeh_check_failure(addr);
return val;
}
static inline u16 eeh_readw(const volatile void __iomem *addr)
{
u16 val = in_le16(addr);
if (EEH_POSSIBLE_ERROR(val, u16))
eeh_check_failure(addr);
return val;
}
static inline u32 eeh_readl(const volatile void __iomem *addr)
{
u32 val = in_le32(addr);
if (EEH_POSSIBLE_ERROR(val, u32))
eeh_check_failure(addr);
return val;
}
static inline u64 eeh_readq(const volatile void __iomem *addr)
{
u64 val = in_le64(addr);
if (EEH_POSSIBLE_ERROR(val, u64))
eeh_check_failure(addr);
return val;
}
static inline u16 eeh_readw_be(const volatile void __iomem *addr)
{
u16 val = in_be16(addr);
if (EEH_POSSIBLE_ERROR(val, u16))
eeh_check_failure(addr);
return val;
}
static inline u32 eeh_readl_be(const volatile void __iomem *addr)
{
u32 val = in_be32(addr);
if (EEH_POSSIBLE_ERROR(val, u32))
eeh_check_failure(addr);
return val;
}
static inline u64 eeh_readq_be(const volatile void __iomem *addr)
{
u64 val = in_be64(addr);
if (EEH_POSSIBLE_ERROR(val, u64))
eeh_check_failure(addr);
return val;
}
static inline void eeh_memcpy_fromio(void *dest, const
volatile void __iomem *src,
unsigned long n)
{
_memcpy_fromio(dest, src, n);
/* Look for ffff's here at dest[n]. Assume that at least 4 bytes
* were copied. Check all four bytes.
*/
if (n >= 4 && EEH_POSSIBLE_ERROR(*((u32 *)(dest + n - 4)), u32))
eeh_check_failure(src);
}
/* in-string eeh macros */
static inline void eeh_readsb(const volatile void __iomem *addr, void * buf,
int ns)
{
_insb(addr, buf, ns);
if (EEH_POSSIBLE_ERROR((*(((u8*)buf)+ns-1)), u8))
eeh_check_failure(addr);
}
static inline void eeh_readsw(const volatile void __iomem *addr, void * buf,
int ns)
{
_insw(addr, buf, ns);
if (EEH_POSSIBLE_ERROR((*(((u16*)buf)+ns-1)), u16))
eeh_check_failure(addr);
}
static inline void eeh_readsl(const volatile void __iomem *addr, void * buf,
int nl)
{
_insl(addr, buf, nl);
if (EEH_POSSIBLE_ERROR((*(((u32*)buf)+nl-1)), u32))
eeh_check_failure(addr);
}
void __init eeh_cache_debugfs_init(void);
#endif /* CONFIG_PPC64 */
#endif /* __KERNEL__ */
#endif /* _POWERPC_EEH_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| book3s | Folder | 0755 |
|
|
| nohash | Folder | 0755 |
|
|
| vdso | Folder | 0755 |
|
|
| 8xx_immap.h | File | 13.81 KB | 0644 |
|
| Kbuild | File | 262 B | 0644 |
|
| accounting.h | File | 908 B | 0644 |
|
| archrandom.h | File | 417 B | 0644 |
|
| asm-compat.h | File | 1.94 KB | 0644 |
|
| asm-const.h | File | 443 B | 0644 |
|
| asm-offsets.h | File | 35 B | 0644 |
|
| asm-prototypes.h | File | 2.17 KB | 0644 |
|
| asm.h | File | 154 B | 0644 |
|
| async_tx.h | File | 908 B | 0644 |
|
| atomic.h | File | 11.55 KB | 0644 |
|
| backlight.h | File | 1.02 KB | 0644 |
|
| barrier.h | File | 3.95 KB | 0644 |
|
| bitops.h | File | 9.13 KB | 0644 |
|
| bootx.h | File | 1.12 KB | 0644 |
|
| bpf_perf_event.h | File | 233 B | 0644 |
|
| btext.h | File | 1006 B | 0644 |
|
| bug.h | File | 3.23 KB | 0644 |
|
| cache.h | File | 2.9 KB | 0644 |
|
| cacheflush.h | File | 3.91 KB | 0644 |
|
| cell-pmu.h | File | 3.41 KB | 0644 |
|
| cell-regs.h | File | 9.57 KB | 0644 |
|
| checksum.h | File | 5.73 KB | 0644 |
|
| clocksource.h | File | 185 B | 0644 |
|
| cmpxchg.h | File | 16.28 KB | 0644 |
|
| code-patching-asm.h | File | 397 B | 0644 |
|
| compat.h | File | 2.5 KB | 0644 |
|
| context_tracking.h | File | 250 B | 0644 |
|
| copro.h | File | 593 B | 0644 |
|
| cpm.h | File | 25 B | 0644 |
|
| cpm1.h | File | 21.06 KB | 0644 |
|
| cpm2.h | File | 48.4 KB | 0644 |
|
| cpu_has_feature.h | File | 1.31 KB | 0644 |
|
| cpu_setup.h | File | 2.48 KB | 0644 |
|
| cpufeature.h | File | 1.04 KB | 0644 |
|
| cpuidle.h | File | 3.33 KB | 0644 |
|
| cputable.h | File | 23.17 KB | 0644 |
|
| cputhreads.h | File | 2.83 KB | 0644 |
|
| cputime.h | File | 2.22 KB | 0644 |
|
| crashdump-ppc64.h | File | 624 B | 0644 |
|
| current.h | File | 680 B | 0644 |
|
| dbdma.h | File | 3.72 KB | 0644 |
|
| dbell.h | File | 3.93 KB | 0644 |
|
| dcr-generic.h | File | 930 B | 0644 |
|
| dcr-mmio.h | File | 1 KB | 0644 |
|
| dcr-native.h | File | 3.77 KB | 0644 |
|
| dcr-regs.h | File | 5.71 KB | 0644 |
|
| dcr.h | File | 2.06 KB | 0644 |
|
| debug.h | File | 1.9 KB | 0644 |
|
| delay.h | File | 3.22 KB | 0644 |
|
| device.h | File | 1.09 KB | 0644 |
|
| disassemble.h | File | 2.14 KB | 0644 |
|
| dma-direct.h | File | 391 B | 0644 |
|
| dma.h | File | 10.38 KB | 0644 |
|
| drmem.h | File | 2.94 KB | 0644 |
|
| dt_cpu_ftrs.h | File | 756 B | 0644 |
|
| dtl.h | File | 1.06 KB | 0644 |
|
| edac.h | File | 1.08 KB | 0644 |
|
| eeh.h | File | 14.79 KB | 0644 |
|
| eeh_event.h | File | 826 B | 0644 |
|
| ehv_pic.h | File | 963 B | 0644 |
|
| elf.h | File | 6.48 KB | 0644 |
|
| elfnote.h | File | 527 B | 0644 |
|
| emergency-restart.h | File | 43 B | 0644 |
|
| emulated_ops.h | File | 2.02 KB | 0644 |
|
| epapr_hcalls.h | File | 16.43 KB | 0644 |
|
| exception-64e.h | File | 5.72 KB | 0644 |
|
| exception-64s.h | File | 4.25 KB | 0644 |
|
| exec.h | File | 246 B | 0644 |
|
| extable.h | File | 1.18 KB | 0644 |
|
| fadump-internal.h | File | 5.35 KB | 0644 |
|
| fadump.h | File | 1.38 KB | 0644 |
|
| feature-fixups.h | File | 9.7 KB | 0644 |
|
| firmware.h | File | 5.47 KB | 0644 |
|
| fixmap.h | File | 3.46 KB | 0644 |
|
| floppy.h | File | 5.01 KB | 0644 |
|
| fpu.h | File | 509 B | 0644 |
|
| fsl_gtm.h | File | 1.17 KB | 0644 |
|
| fsl_hcalls.h | File | 17.2 KB | 0644 |
|
| fsl_lbc.h | File | 10.24 KB | 0644 |
|
| fsl_pamu_stash.h | File | 411 B | 0644 |
|
| fsl_pm.h | File | 1.16 KB | 0644 |
|
| ftrace.h | File | 5.08 KB | 0644 |
|
| futex.h | File | 2.19 KB | 0644 |
|
| grackle.h | File | 331 B | 0644 |
|
| guest-state-buffer.h | File | 27.38 KB | 0644 |
|
| hardirq.h | File | 948 B | 0644 |
|
| head-64.h | File | 5.36 KB | 0644 |
|
| heathrow.h | File | 2.53 KB | 0644 |
|
| highmem.h | File | 2.03 KB | 0644 |
|
| hmi.h | File | 971 B | 0644 |
|
| hugetlb.h | File | 2.3 KB | 0644 |
|
| hvcall.h | File | 22.61 KB | 0644 |
|
| hvconsole.h | File | 800 B | 0644 |
|
| hvcserver.h | File | 1.44 KB | 0644 |
|
| hvsi.h | File | 2.83 KB | 0644 |
|
| hw_breakpoint.h | File | 3.69 KB | 0644 |
|
| hw_irq.h | File | 12.64 KB | 0644 |
|
| hydra.h | File | 2.88 KB | 0644 |
|
| i8259.h | File | 361 B | 0644 |
|
| ibmebus.h | File | 2.18 KB | 0644 |
|
| icswx.h | File | 4.97 KB | 0644 |
|
| idle.h | File | 2.37 KB | 0644 |
|
| imc-pmu.h | File | 3.91 KB | 0644 |
|
| immap_cpm2.h | File | 10.5 KB | 0644 |
|
| inst.h | File | 3.9 KB | 0644 |
|
| interrupt.h | File | 20.21 KB | 0644 |
|
| io-defs.h | File | 3.09 KB | 0644 |
|
| io-workarounds.h | File | 1.28 KB | 0644 |
|
| io.h | File | 30.97 KB | 0644 |
|
| io_event_irq.h | File | 1.71 KB | 0644 |
|
| iommu.h | File | 10.19 KB | 0644 |
|
| ipic.h | File | 3.07 KB | 0644 |
|
| irq.h | File | 1.33 KB | 0644 |
|
| irq_work.h | File | 213 B | 0644 |
|
| irqflags.h | File | 239 B | 0644 |
|
| isa-bridge.h | File | 654 B | 0644 |
|
| jump_label.h | File | 1.3 KB | 0644 |
|
| kasan.h | File | 2.27 KB | 0644 |
|
| kdebug.h | File | 291 B | 0644 |
|
| kdump.h | File | 1.37 KB | 0644 |
|
| kexec.h | File | 6 KB | 0644 |
|
| kexec_ranges.h | File | 743 B | 0644 |
|
| keylargo.h | File | 10.8 KB | 0644 |
|
| kfence.h | File | 1.16 KB | 0644 |
|
| kgdb.h | File | 2.11 KB | 0644 |
|
| kprobes.h | File | 2.64 KB | 0644 |
|
| kup.h | File | 4.21 KB | 0644 |
|
| kvm_asm.h | File | 4.89 KB | 0644 |
|
| kvm_book3s.h | File | 23.17 KB | 0644 |
|
| kvm_book3s_32.h | File | 816 B | 0644 |
|
| kvm_book3s_64.h | File | 18.78 KB | 0644 |
|
| kvm_book3s_asm.h | File | 3.56 KB | 0644 |
|
| kvm_book3s_uvmem.h | File | 2.67 KB | 0644 |
|
| kvm_booke.h | File | 2.41 KB | 0644 |
|
| kvm_booke_hv_asm.h | File | 1.91 KB | 0644 |
|
| kvm_fpu.h | File | 2.15 KB | 0644 |
|
| kvm_guest.h | File | 573 B | 0644 |
|
| kvm_host.h | File | 22.43 KB | 0644 |
|
| kvm_para.h | File | 752 B | 0644 |
|
| kvm_ppc.h | File | 37.63 KB | 0644 |
|
| libata-portmap.h | File | 249 B | 0644 |
|
| linkage.h | File | 508 B | 0644 |
|
| livepatch.h | File | 604 B | 0644 |
|
| local.h | File | 3.36 KB | 0644 |
|
| lppaca.h | File | 4.53 KB | 0644 |
|
| lv1call.h | File | 18.12 KB | 0644 |
|
| machdep.h | File | 8.74 KB | 0644 |
|
| macio.h | File | 3.93 KB | 0644 |
|
| mc146818rtc.h | File | 736 B | 0644 |
|
| mce.h | File | 6.58 KB | 0644 |
|
| mediabay.h | File | 1.34 KB | 0644 |
|
| mem_encrypt.h | File | 456 B | 0644 |
|
| membarrier.h | File | 877 B | 0644 |
|
| mman.h | File | 1.11 KB | 0644 |
|
| mmiowb.h | File | 374 B | 0644 |
|
| mmu.h | File | 10.63 KB | 0644 |
|
| mmu_context.h | File | 8.67 KB | 0644 |
|
| mmzone.h | File | 902 B | 0644 |
|
| module.h | File | 2.38 KB | 0644 |
|
| module.lds.h | File | 95 B | 0644 |
|
| mpc5121.h | File | 3.77 KB | 0644 |
|
| mpc52xx.h | File | 9.76 KB | 0644 |
|
| mpc52xx_psc.h | File | 9.89 KB | 0644 |
|
| mpc5xxx.h | File | 610 B | 0644 |
|
| mpc6xx.h | File | 143 B | 0644 |
|
| mpc85xx.h | File | 2.33 KB | 0644 |
|
| mpic.h | File | 13.98 KB | 0644 |
|
| mpic_msgr.h | File | 3.36 KB | 0644 |
|
| mpic_timer.h | File | 1.16 KB | 0644 |
|
| msi_bitmap.h | File | 867 B | 0644 |
|
| nmi.h | File | 372 B | 0644 |
|
| nvram.h | File | 2.77 KB | 0644 |
|
| ohare.h | File | 1.64 KB | 0644 |
|
| opal-api.h | File | 30.97 KB | 0644 |
|
| opal.h | File | 17.01 KB | 0644 |
|
| paca.h | File | 8.66 KB | 0644 |
|
| page.h | File | 8.64 KB | 0644 |
|
| page_32.h | File | 1.51 KB | 0644 |
|
| page_64.h | File | 2.65 KB | 0644 |
|
| papr-sysparm.h | File | 1.51 KB | 0644 |
|
| paravirt.h | File | 6.18 KB | 0644 |
|
| paravirt_api_clock.h | File | 65 B | 0644 |
|
| parport.h | File | 960 B | 0644 |
|
| pasemi_dma.h | File | 22.73 KB | 0644 |
|
| pci-bridge.h | File | 9.36 KB | 0644 |
|
| pci.h | File | 3.51 KB | 0644 |
|
| percpu.h | File | 782 B | 0644 |
|
| perf_event.h | File | 1.47 KB | 0644 |
|
| perf_event_fsl_emb.h | File | 1.22 KB | 0644 |
|
| perf_event_server.h | File | 7.01 KB | 0644 |
|
| pgalloc.h | File | 2.2 KB | 0644 |
|
| pgtable-be-types.h | File | 2.37 KB | 0644 |
|
| pgtable-masks.h | File | 1.11 KB | 0644 |
|
| pgtable-types.h | File | 2.23 KB | 0644 |
|
| pgtable.h | File | 5.99 KB | 0644 |
|
| pkeys.h | File | 4.18 KB | 0644 |
|
| plpar_wrappers.h | File | 14.62 KB | 0644 |
|
| plpks.h | File | 5.09 KB | 0644 |
|
| pmac_feature.h | File | 13.35 KB | 0644 |
|
| pmac_low_i2c.h | File | 3.03 KB | 0644 |
|
| pmac_pfunc.h | File | 8.04 KB | 0644 |
|
| pmc.h | File | 1.09 KB | 0644 |
|
| pmi.h | File | 1.15 KB | 0644 |
|
| pnv-ocxl.h | File | 3 KB | 0644 |
|
| pnv-pci.h | File | 2.4 KB | 0644 |
|
| powernv.h | File | 454 B | 0644 |
|
| ppc-opcode.h | File | 32.59 KB | 0644 |
|
| ppc-pci.h | File | 2.77 KB | 0644 |
|
| ppc4xx.h | File | 328 B | 0644 |
|
| ppc_asm.h | File | 23.13 KB | 0644 |
|
| probes.h | File | 2.46 KB | 0644 |
|
| processor.h | File | 13.06 KB | 0644 |
|
| prom.h | File | 7 KB | 0644 |
|
| ps3.h | File | 14.84 KB | 0644 |
|
| ps3av.h | File | 22.81 KB | 0644 |
|
| ps3gpu.h | File | 1.88 KB | 0644 |
|
| ps3stor.h | File | 1.38 KB | 0644 |
|
| pte-walk.h | File | 1.52 KB | 0644 |
|
| ptrace.h | File | 11.81 KB | 0644 |
|
| qspinlock.h | File | 4.76 KB | 0644 |
|
| qspinlock_types.h | File | 1.59 KB | 0644 |
|
| reg.h | File | 63.24 KB | 0644 |
|
| reg_8xx.h | File | 2.8 KB | 0644 |
|
| reg_booke.h | File | 28.05 KB | 0644 |
|
| reg_fsl_emb.h | File | 3.94 KB | 0644 |
|
| rheap.h | File | 2.52 KB | 0644 |
|
| rio.h | File | 424 B | 0644 |
|
| rtas-types.h | File | 2.84 KB | 0644 |
|
| rtas-work-area.h | File | 2.75 KB | 0644 |
|
| rtas.h | File | 23.33 KB | 0644 |
|
| runlatch.h | File | 1.15 KB | 0644 |
|
| seccomp.h | File | 1.02 KB | 0644 |
|
| sections.h | File | 2.04 KB | 0644 |
|
| secure_boot.h | File | 476 B | 0644 |
|
| security_features.h | File | 3.43 KB | 0644 |
|
| secvar.h | File | 994 B | 0644 |
|
| serial.h | File | 473 B | 0644 |
|
| set_memory.h | File | 1.41 KB | 0644 |
|
| setjmp.h | File | 400 B | 0644 |
|
| setup.h | File | 2.79 KB | 0644 |
|
| sfp-machine.h | File | 12.38 KB | 0644 |
|
| shmparam.h | File | 206 B | 0644 |
|
| signal.h | File | 506 B | 0644 |
|
| simple_spinlock.h | File | 6.1 KB | 0644 |
|
| simple_spinlock_types.h | File | 487 B | 0644 |
|
| smp.h | File | 7.01 KB | 0644 |
|
| smu.h | File | 19.33 KB | 0644 |
|
| sparsemem.h | File | 843 B | 0644 |
|
| spinlock.h | File | 474 B | 0644 |
|
| spinlock_types.h | File | 380 B | 0644 |
|
| spu.h | File | 23.41 KB | 0644 |
|
| spu_csa.h | File | 6.02 KB | 0644 |
|
| spu_info.h | File | 272 B | 0644 |
|
| spu_priv1.h | File | 5.01 KB | 0644 |
|
| sstep.h | File | 4.6 KB | 0644 |
|
| stackprotector.h | File | 604 B | 0644 |
|
| stacktrace.h | File | 297 B | 0644 |
|
| static_call.h | File | 1.04 KB | 0644 |
|
| string.h | File | 2.8 KB | 0644 |
|
| svm.h | File | 591 B | 0644 |
|
| swab.h | File | 173 B | 0644 |
|
| swiotlb.h | File | 413 B | 0644 |
|
| switch_to.h | File | 3.15 KB | 0644 |
|
| synch.h | File | 2.11 KB | 0644 |
|
| syscall.h | File | 2.95 KB | 0644 |
|
| syscall_wrapper.h | File | 1.63 KB | 0644 |
|
| syscalls.h | File | 5.05 KB | 0644 |
|
| syscalls_32.h | File | 1.58 KB | 0644 |
|
| systemcfg.h | File | 1.69 KB | 0644 |
|
| task_size_32.h | File | 544 B | 0644 |
|
| task_size_64.h | File | 2.57 KB | 0644 |
|
| tce.h | File | 892 B | 0644 |
|
| text-patching.h | File | 7.37 KB | 0644 |
|
| thread_info.h | File | 7.7 KB | 0644 |
|
| time.h | File | 2.92 KB | 0644 |
|
| timex.h | File | 463 B | 0644 |
|
| tlb.h | File | 2.3 KB | 0644 |
|
| tlbflush.h | File | 271 B | 0644 |
|
| tm.h | File | 624 B | 0644 |
|
| topology.h | File | 4.07 KB | 0644 |
|
| trace.h | File | 7.26 KB | 0644 |
|
| trace_clock.h | File | 372 B | 0644 |
|
| tsi108.h | File | 3.19 KB | 0644 |
|
| tsi108_irq.h | File | 3.82 KB | 0644 |
|
| tsi108_pci.h | File | 1.16 KB | 0644 |
|
| types.h | File | 573 B | 0644 |
|
| uaccess.h | File | 14.44 KB | 0644 |
|
| udbg.h | File | 1.7 KB | 0644 |
|
| uic.h | File | 403 B | 0644 |
|
| ultravisor-api.h | File | 941 B | 0644 |
|
| ultravisor.h | File | 2.05 KB | 0644 |
|
| uninorth.h | File | 8.21 KB | 0644 |
|
| unistd.h | File | 1.45 KB | 0644 |
|
| uprobes.h | File | 770 B | 0644 |
|
| user.h | File | 1.95 KB | 0644 |
|
| vas.h | File | 7.91 KB | 0644 |
|
| vdso.h | File | 1022 B | 0644 |
|
| vdso_datapage.h | File | 1.72 KB | 0644 |
|
| vermagic.h | File | 612 B | 0644 |
|
| vga.h | File | 1.13 KB | 0644 |
|
| video.h | File | 431 B | 0644 |
|
| vio.h | File | 4.54 KB | 0644 |
|
| vmalloc.h | File | 554 B | 0644 |
|
| vphn.h | File | 802 B | 0644 |
|
| word-at-a-time.h | File | 4.79 KB | 0644 |
|
| xics.h | File | 4.39 KB | 0644 |
|
| xive-regs.h | File | 4.96 KB | 0644 |
|
| xive.h | File | 5.07 KB | 0644 |
|
| xmon.h | File | 733 B | 0644 |
|
| xor.h | File | 1017 B | 0644 |
|
| xor_altivec.h | File | 888 B | 0644 |
|