#include <linux/config.h>
#include <linux/proc_fs.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/mm.h>
#include <asm/io.h>
#include <l4/util/macros.h>
#include <l4/util/bitops.h>
#include "pcilib.h"
#include "io.h"
#include "res.h"
#include <asm/processor.h>
Go to the source code of this file.
Resource Management Glue for PCIlib | |
| Linux' PCI subsystem _expects_ the new, hierarchical resource management system. So it has to be mapped to io's flat allocation scheme:
Shame: Almost all of this is from Linux 2.4.x.
| |
| struct resource | ioport_resource |
| fake port resource (PCIlib glue) | |
| struct resource | iomem_resource |
| fake memory resource (PCIlib glue) | |
| unsigned long | pci_mem_start = 0x80000000 |
| map MMIO regions above 2GB | |
| static char * | do_resource_list (struct resource *entry, const char *fmt, int offset, char *buf, char *end) |
| static struct resource * | __request_resource (struct resource *root, struct resource *new) |
| Generic resource requests. | |
| struct resource * | __request_region (struct resource *parent, unsigned long start, unsigned long n, const char *name) |
| Generic region requests. | |
| void | __release_region (struct resource *parent, unsigned long start, unsigned long n) |
| static int | __find_resource (struct resource *root, struct resource *new, unsigned long size, unsigned long min, unsigned long max, unsigned long align, void(*alignf)(void *, struct resource *, unsigned long, unsigned long), void *alignf_data) |
| Generic Find empty slot in the resource tree given range and alignment. | |
| int | request_resource (struct resource *root, struct resource *new) |
| Linux resource requests. | |
| int | allocate_resource (struct resource *root, struct resource *new, unsigned long size, unsigned long min, unsigned long max, unsigned long align, void(*alignf)(void *, struct resource *, unsigned long, unsigned long), void *alignf_data) |
| Linux resource allocation. | |
Miscellaneous Glue for PCIlib | |
.. | |
| struct cpuinfo_x86 | boot_cpu_data |
| void | dev_probe_lock (void) |
| dev_probe_lock | |
| void | dev_probe_unlock (void) |
| dev_probe_unlock | |
| long | simple_strtol (const char *cp, char **endp, unsigned int base) |
| simple_strtol | |
| signed long | FASTCALL (schedule_timeout(signed long timeout)) |
| schedule_timeout | |
| void | __const_udelay (unsigned long usecs) |
| int | remap_page_range (unsigned long from, unsigned long to, unsigned long size, pgprot_t prot) |
| void * | pci_alloc_consistent (struct pci_dev *hwdev, size_t size, dma_addr_t *dma_handle) |
| void | pci_free_consistent (struct pci_dev *hwdev, size_t size, void *vaddr, dma_addr_t dma_handle) |
| void | FASTCALL (add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait)) |
| void | FASTCALL (remove_wait_queue(wait_queue_head_t *q, wait_queue_t *wait)) |
| void | FASTCALL (__wake_up(wait_queue_head_t *q, unsigned int mode, int nr)) |
Defines | |
| #define | DO_DEBUG 0 |
| #define | FASTCALL(x) __attribute__((regparm(3))) x |
Functions | |
| void * | malloc (size_t size) |
| void | free (void *ptr) |
| unsigned int | strtol (const char *nptr, char **endptr, int base) |
Interrupt Line Request Glue for PCIlib | |
Mapping of PCIlib interrupt allocation. | |
| int | request_irq (unsigned int irq, void(*handler)(int, void *, struct pt_regs *), unsigned long flags, const char *name, void *id) |
| Request interrupt. | |
| void | free_irq (unsigned int irq, void *id) |
| Free Interrupt. | |
Memory Management Glue for PCIlib | |
| void * | kmalloc (size_t size, int gfp) |
| Well known kmalloc. | |
| void | kfree (const void *obj) |
| Well known kfree. | |
| unsigned long | FASTCALL (__get_free_pages(unsigned int gfp, unsigned int order)) |
| Well known __get_free_pages. | |
| void | FASTCALL (free_pages(unsigned long addr, unsigned int order)) |
| Well known free_pages. | |
PCIlib interface | |
| int | PCI_init (int list) |
| PCIlib initialization. | |
| unsigned short | PCI_linux_to_io (void *linux_pdev, void *l4io_pdev) |
| Info Type Conversion. | |
Definition in file glue.c.
| long simple_strtol | ( | const char * | cp, | |
| char ** | endp, | |||
| unsigned int | base | |||
| ) |
| struct resource iomem_resource |
| struct resource ioport_resource |