!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.4.18 (Ubuntu). PHP/7.0.33-0ubuntu0.16.04.16 

uname -a: Linux digifus 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-headers-3.13.0-170/arch/s390/include/asm/   drwxr-xr-x
Free 9.54 GB of 29.4 GB (32.45%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     pci.h (4.89 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef __ASM_S390_PCI_H
#define __ASM_S390_PCI_H

/* must be set before including asm-generic/pci.h */
#define PCI_DMA_BUS_IS_PHYS (0)
/* must be set before including pci_clp.h */
#define PCI_BAR_COUNT    6

#include <linux/pci.h>
#include <asm-generic/pci.h>
#include <asm-generic/pci-dma-compat.h>
#include <asm/pci_clp.h>
#include <asm/pci_debug.h>

#define PCIBIOS_MIN_IO        0x1000
#define PCIBIOS_MIN_MEM        0x10000000

#define pcibios_assign_all_busses()    (0)

void __iomem *pci_iomap(struct pci_dev *, int, unsigned long);
void pci_iounmap(struct pci_dev *, void __iomem *);
int pci_domain_nr(struct pci_bus *);
int pci_proc_domain(struct pci_bus *);

#define ZPCI_BUS_NR            0    /* default bus number */
#define ZPCI_DEVFN            0    /* default device number */

/* PCI Function Controls */
#define ZPCI_FC_FN_ENABLED        0x80
#define ZPCI_FC_ERROR            0x40
#define ZPCI_FC_BLOCKED            0x20
#define ZPCI_FC_DMA_ENABLED        0x10

struct zpci_fmb {
    u32 format    :  8;
    u32 dma_valid    :  1;
    u32        : 23;
    u32 samples;
    u64 last_update;
    /* hardware counters */
    u64 ld_ops;
    u64 st_ops;
    u64 stb_ops;
    u64 rpcit_ops;
    u64 dma_rbytes;
    u64 dma_wbytes;
    /* software counters */
    atomic64_t allocated_pages;
    atomic64_t mapped_pages;
    atomic64_t unmapped_pages;
} __packed __aligned(64);

#define ZPCI_MSI_VEC_BITS    11
#define ZPCI_MSI_VEC_MAX    (1 << ZPCI_MSI_VEC_BITS)
#define ZPCI_MSI_VEC_MASK    (ZPCI_MSI_VEC_MAX - 1)

enum zpci_state {
    ZPCI_FN_STATE_RESERVED,
    ZPCI_FN_STATE_STANDBY,
    ZPCI_FN_STATE_CONFIGURED,
    ZPCI_FN_STATE_ONLINE,
    NR_ZPCI_FN_STATES,
};

struct zpci_bar_struct {
    struct resource *res;        /* bus resource */
    u32        val;        /* bar start & 3 flag bits */
    u16        map_idx;    /* index into bar mapping array */
    u8        size;        /* order 2 exponent */
};

/* Private data per function */
struct zpci_dev {
    struct pci_dev    *pdev;
    struct pci_bus    *bus;
    struct list_head entry;        /* list of all zpci_devices, needed for hotplug, etc. */

    enum zpci_state state;
    u32        fid;        /* function ID, used by sclp */
    u32        fh;        /* function handle, used by insn's */
    u16        pchid;        /* physical channel ID */
    u8        pfgid;        /* function group ID */
    u16        domain;

    /* IRQ stuff */
    u64        msi_addr;    /* MSI address */
    struct airq_iv *aibv;        /* adapter interrupt bit vector */
    unsigned int    aisb;        /* number of the summary bit */

    /* DMA stuff */
    unsigned long    *dma_table;
    spinlock_t    dma_table_lock;
    int        tlb_refresh;

    spinlock_t    iommu_bitmap_lock;
    unsigned long    *iommu_bitmap;
    unsigned long    iommu_size;
    unsigned long    iommu_pages;
    unsigned int    next_bit;

    char res_name[16];
    struct zpci_bar_struct bars[PCI_BAR_COUNT];

    u64        start_dma;    /* Start of available DMA addresses */
    u64        end_dma;    /* End of available DMA addresses */
    u64        dma_mask;    /* DMA address space mask */

    /* Function measurement block */
    struct zpci_fmb *fmb;
    u16        fmb_update;    /* update interval */

    enum pci_bus_speed max_bus_speed;

    struct dentry    *debugfs_dev;
    struct dentry    *debugfs_perf;
};

static inline bool zdev_enabled(struct zpci_dev *zdev)
{
    return (zdev->fh & (1UL << 31)) ? true : false;
}

/* -----------------------------------------------------------------------------
  Prototypes
----------------------------------------------------------------------------- */
/* Base stuff */
int zpci_create_device(struct zpci_dev *);
int zpci_enable_device(struct zpci_dev *);
int zpci_disable_device(struct zpci_dev *);
void zpci_stop_device(struct zpci_dev *);
int zpci_register_ioat(struct zpci_dev *, u8, u64, u64, u64);
int zpci_unregister_ioat(struct zpci_dev *, u8);

/* CLP */
int clp_scan_pci_devices(void);
int clp_rescan_pci_devices(void);
int clp_rescan_pci_devices_simple(void);
int clp_add_pci_device(u32, u32, int);
int clp_enable_fh(struct zpci_dev *, u8);
int clp_disable_fh(struct zpci_dev *);

#ifdef CONFIG_PCI
/* Error handling and recovery */
void zpci_event_error(void *);
void zpci_event_availability(void *);
void zpci_rescan(void);
#else /* CONFIG_PCI */
static inline void zpci_event_error(void *e) {}
static inline void zpci_event_availability(void *e) {}
static inline void zpci_rescan(void) {}
#endif /* CONFIG_PCI */

#ifdef CONFIG_HOTPLUG_PCI_S390
int zpci_init_slot(struct zpci_dev *);
void zpci_exit_slot(struct zpci_dev *);
#else /* CONFIG_HOTPLUG_PCI_S390 */
static inline int zpci_init_slot(struct zpci_dev *zdev)
{
    return 0;
}
static inline void zpci_exit_slot(struct zpci_dev *zdev) {}
#endif /* CONFIG_HOTPLUG_PCI_S390 */

/* Helpers */
struct zpci_dev *get_zdev(struct pci_dev *);
struct zpci_dev *get_zdev_by_fid(u32);

/* sysfs */
int zpci_sysfs_add_device(struct device *);
void zpci_sysfs_remove_device(struct device *);

/* DMA */
int zpci_dma_init(void);
void zpci_dma_exit(void);

/* FMB */
int zpci_fmb_enable_device(struct zpci_dev *);
int zpci_fmb_disable_device(struct zpci_dev *);

/* Debug */
int zpci_debug_init(void);
void zpci_debug_exit(void);
void zpci_debug_init_device(struct zpci_dev *);
void zpci_debug_exit_device(struct zpci_dev *);
void zpci_debug_info(struct zpci_dev *, struct seq_file *);

#endif

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0059 ]--