Merge branch 'master' of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
* 'master' of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (29 commits) [PARISC] fix uninitialized variable warning in asm/rtc.h [PARISC] Port checkstack.pl to parisc [PARISC] Make palo target work when $obj != $src [PARISC] Zap unused variable warnings in pci.c [PARISC] Fix tests in palo target [PARISC] Fix palo target [PARISC] Restore palo target [PARISC] Attempt to clean up parisc/Makefile [PARISC] Fix infinite loop in /proc/iomem [PARISC] Quiet sysfs_create_link __must_check warnings in pdc_stable [PARISC] Squelch pci_enable_device __must_check warning in superio [PARISC] Kill off broken irqstack code [PARISC] Remove hardcoded uses of PAGE_SIZE [PARISC] Clean up pointless ASM_PAGE_SIZE_DIV use [PARISC] Kill off the last vestiges of ASM_PAGE_SIZE [PARISC] Kill off ASM_PAGE_SIZE use [PARISC] Beautify parisc vmlinux.lds.S [PARISC] Clean up a resource_size_t warning in sba_iommu [PARISC] Kill incorrect cast warning in unwinder [PARISC] Kill zone_to_nid printk warning ... Fixed trivial conflict in include/asm-parisc/tlbflush.h manually
This commit is contained in:
@@ -1 +1,3 @@
|
||||
include include/asm-generic/Kbuild.asm
|
||||
|
||||
unifdef-y += pdc.h
|
||||
|
||||
@@ -138,7 +138,7 @@ extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsign
|
||||
/* Most machines react poorly to I/O-space being cacheable... Instead let's
|
||||
* define ioremap() in terms of ioremap_nocache().
|
||||
*/
|
||||
extern inline void __iomem * ioremap(unsigned long offset, unsigned long size)
|
||||
static inline void __iomem * ioremap(unsigned long offset, unsigned long size)
|
||||
{
|
||||
return __ioremap(offset, size, _PAGE_NO_CACHE);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/const.h>
|
||||
|
||||
#if defined(CONFIG_PARISC_PAGE_SIZE_4KB)
|
||||
# define PAGE_SHIFT 12
|
||||
#elif defined(CONFIG_PARISC_PAGE_SIZE_16KB)
|
||||
@@ -12,7 +14,7 @@
|
||||
#else
|
||||
# error "unknown default kernel page size"
|
||||
#endif
|
||||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ extern struct pci_bios_ops *pci_bios;
|
||||
extern void pcibios_register_hba(struct pci_hba_data *);
|
||||
extern void pcibios_set_master(struct pci_dev *);
|
||||
#else
|
||||
extern inline void pcibios_register_hba(struct pci_hba_data *x)
|
||||
static inline void pcibios_register_hba(struct pci_hba_data *x)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
+141
-173
@@ -1,7 +1,6 @@
|
||||
#ifndef _PARISC_PDC_H
|
||||
#define _PARISC_PDC_H
|
||||
|
||||
|
||||
/*
|
||||
* PDC return values ...
|
||||
* All PDC calls return a subset of these errors.
|
||||
@@ -20,7 +19,6 @@
|
||||
#define PDC_BUS_POW_WARN -12 /* Call could not complete in allowed power budget */
|
||||
#define PDC_NOT_NARROW -17 /* Narrow mode not supported */
|
||||
|
||||
|
||||
/*
|
||||
* PDC entry points...
|
||||
*/
|
||||
@@ -50,6 +48,12 @@
|
||||
#define PDC_MODEL_DISPEC 5 /* disable specific option */
|
||||
#define PDC_MODEL_CPU_ID 6 /* returns cpu-id (only newer machines!) */
|
||||
#define PDC_MODEL_CAPABILITIES 7 /* returns OS32/OS64-flags */
|
||||
/* Values for PDC_MODEL_CAPABILITIES non-equivalent virtual aliasing support */
|
||||
#define PDC_MODEL_IOPDIR_FDC (1 << 2)
|
||||
#define PDC_MODEL_NVA_MASK (3 << 4)
|
||||
#define PDC_MODEL_NVA_SUPPORTED (0 << 4)
|
||||
#define PDC_MODEL_NVA_SLOW (1 << 4)
|
||||
#define PDC_MODEL_NVA_UNSUPPORTED (3 << 4)
|
||||
#define PDC_MODEL_GET_BOOT__OP 8 /* returns boot test options */
|
||||
#define PDC_MODEL_SET_BOOT__OP 9 /* set boot test options */
|
||||
|
||||
@@ -91,7 +95,7 @@
|
||||
#define PDC_TOD 9 /* time-of-day clock (TOD) */
|
||||
#define PDC_TOD_READ 0 /* read TOD */
|
||||
#define PDC_TOD_WRITE 1 /* write TOD */
|
||||
#define PDC_TOD_ITIMER 2 /* calibrate Interval Timer (CR16) */
|
||||
|
||||
|
||||
#define PDC_STABLE 10 /* stable storage (sprockets) */
|
||||
#define PDC_STABLE_READ 0
|
||||
@@ -143,15 +147,6 @@
|
||||
#define PDC_MEM_RET_PDT_FULL -11
|
||||
#define PDC_MEM_RET_INVALID_PHYSICAL_LOCATION ~0ULL
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
typedef struct {
|
||||
unsigned long long baseAddr;
|
||||
unsigned int pages;
|
||||
unsigned int reserved;
|
||||
} MemAddrTable_t;
|
||||
#endif
|
||||
|
||||
|
||||
#define PDC_PSW 21 /* Get/Set default System Mask */
|
||||
#define PDC_PSW_MASK 0 /* Return mask */
|
||||
#define PDC_PSW_GET_DEFAULTS 1 /* Return defaults */
|
||||
@@ -274,6 +269,43 @@ typedef struct {
|
||||
#define PDC_LINK_PCI_ENTRY_POINTS 0 /* list (Arg1) = 0 */
|
||||
#define PDC_LINK_USB_ENTRY_POINTS 1 /* list (Arg1) = 1 */
|
||||
|
||||
/* cl_class
|
||||
* page 3-33 of IO-Firmware ARS
|
||||
* IODC ENTRY_INIT(Search first) RET[1]
|
||||
*/
|
||||
#define CL_NULL 0 /* invalid */
|
||||
#define CL_RANDOM 1 /* random access (as disk) */
|
||||
#define CL_SEQU 2 /* sequential access (as tape) */
|
||||
#define CL_DUPLEX 7 /* full-duplex point-to-point (RS-232, Net) */
|
||||
#define CL_KEYBD 8 /* half-duplex console (HIL Keyboard) */
|
||||
#define CL_DISPL 9 /* half-duplex console (display) */
|
||||
#define CL_FC 10 /* FiberChannel access media */
|
||||
|
||||
/* IODC ENTRY_INIT() */
|
||||
#define ENTRY_INIT_SRCH_FRST 2
|
||||
#define ENTRY_INIT_SRCH_NEXT 3
|
||||
#define ENTRY_INIT_MOD_DEV 4
|
||||
#define ENTRY_INIT_DEV 5
|
||||
#define ENTRY_INIT_MOD 6
|
||||
#define ENTRY_INIT_MSG 9
|
||||
|
||||
/* IODC ENTRY_IO() */
|
||||
#define ENTRY_IO_BOOTIN 0
|
||||
#define ENTRY_IO_BOOTOUT 1
|
||||
#define ENTRY_IO_CIN 2
|
||||
#define ENTRY_IO_COUT 3
|
||||
#define ENTRY_IO_CLOSE 4
|
||||
#define ENTRY_IO_GETMSG 9
|
||||
#define ENTRY_IO_BBLOCK_IN 16
|
||||
#define ENTRY_IO_BBLOCK_OUT 17
|
||||
|
||||
/* IODC ENTRY_SPA() */
|
||||
|
||||
/* IODC ENTRY_CONFIG() */
|
||||
|
||||
/* IODC ENTRY_TEST() */
|
||||
|
||||
/* IODC ENTRY_TLB() */
|
||||
|
||||
/* constants for OS (NVM...) */
|
||||
#define OS_ID_NONE 0 /* Undefined OS ID */
|
||||
@@ -295,7 +327,13 @@ typedef struct {
|
||||
#define OSTAT_RUN 6
|
||||
#define OSTAT_ON 7
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/* Page Zero constant offsets used by the HPMC handler */
|
||||
#define BOOT_CONSOLE_HPA_OFFSET 0x3c0
|
||||
#define BOOT_CONSOLE_SPA_OFFSET 0x3c4
|
||||
#define BOOT_CONSOLE_PATH_OFFSET 0x3a8
|
||||
|
||||
#if !defined(__ASSEMBLY__)
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
@@ -331,14 +369,6 @@ struct pdc_model { /* for PDC_MODEL */
|
||||
unsigned long curr_key;
|
||||
};
|
||||
|
||||
/* Values for PDC_MODEL_CAPABILITIES non-equivalent virtual aliasing support */
|
||||
|
||||
#define PDC_MODEL_IOPDIR_FDC (1 << 2) /* see sba_iommu.c */
|
||||
#define PDC_MODEL_NVA_MASK (3 << 4)
|
||||
#define PDC_MODEL_NVA_SUPPORTED (0 << 4)
|
||||
#define PDC_MODEL_NVA_SLOW (1 << 4)
|
||||
#define PDC_MODEL_NVA_UNSUPPORTED (3 << 4)
|
||||
|
||||
struct pdc_cache_cf { /* for PDC_CACHE (I/D-caches) */
|
||||
unsigned long
|
||||
#ifdef CONFIG_64BIT
|
||||
@@ -558,156 +588,6 @@ struct pdc_hpmc_pim_20 { /* PDC_PIM */
|
||||
__u64 fr[32];
|
||||
};
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* flags of the device_path (see below) */
|
||||
#define PF_AUTOBOOT 0x80
|
||||
#define PF_AUTOSEARCH 0x40
|
||||
#define PF_TIMER 0x0F
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct device_path { /* page 1-69 */
|
||||
unsigned char flags; /* flags see above! */
|
||||
unsigned char bc[6]; /* bus converter routing info */
|
||||
unsigned char mod;
|
||||
unsigned int layers[6];/* device-specific layer-info */
|
||||
} __attribute__((aligned(8))) ;
|
||||
|
||||
struct pz_device {
|
||||
struct device_path dp; /* see above */
|
||||
/* struct iomod *hpa; */
|
||||
unsigned int hpa; /* HPA base address */
|
||||
/* char *spa; */
|
||||
unsigned int spa; /* SPA base address */
|
||||
/* int (*iodc_io)(struct iomod*, ...); */
|
||||
unsigned int iodc_io; /* device entry point */
|
||||
short pad; /* reserved */
|
||||
unsigned short cl_class;/* see below */
|
||||
} __attribute__((aligned(8))) ;
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* cl_class
|
||||
* page 3-33 of IO-Firmware ARS
|
||||
* IODC ENTRY_INIT(Search first) RET[1]
|
||||
*/
|
||||
#define CL_NULL 0 /* invalid */
|
||||
#define CL_RANDOM 1 /* random access (as disk) */
|
||||
#define CL_SEQU 2 /* sequential access (as tape) */
|
||||
#define CL_DUPLEX 7 /* full-duplex point-to-point (RS-232, Net) */
|
||||
#define CL_KEYBD 8 /* half-duplex console (HIL Keyboard) */
|
||||
#define CL_DISPL 9 /* half-duplex console (display) */
|
||||
#define CL_FC 10 /* FiberChannel access media */
|
||||
|
||||
#if 0
|
||||
/* FIXME: DEVCLASS_* duplicates CL_* (above). Delete DEVCLASS_*? */
|
||||
#define DEVCLASS_RANDOM 1
|
||||
#define DEVCLASS_SEQU 2
|
||||
#define DEVCLASS_DUPLEX 7
|
||||
#define DEVCLASS_KEYBD 8
|
||||
#define DEVCLASS_DISP 9
|
||||
#endif
|
||||
|
||||
/* IODC ENTRY_INIT() */
|
||||
#define ENTRY_INIT_SRCH_FRST 2
|
||||
#define ENTRY_INIT_SRCH_NEXT 3
|
||||
#define ENTRY_INIT_MOD_DEV 4
|
||||
#define ENTRY_INIT_DEV 5
|
||||
#define ENTRY_INIT_MOD 6
|
||||
#define ENTRY_INIT_MSG 9
|
||||
|
||||
/* IODC ENTRY_IO() */
|
||||
#define ENTRY_IO_BOOTIN 0
|
||||
#define ENTRY_IO_BOOTOUT 1
|
||||
#define ENTRY_IO_CIN 2
|
||||
#define ENTRY_IO_COUT 3
|
||||
#define ENTRY_IO_CLOSE 4
|
||||
#define ENTRY_IO_GETMSG 9
|
||||
#define ENTRY_IO_BBLOCK_IN 16
|
||||
#define ENTRY_IO_BBLOCK_OUT 17
|
||||
|
||||
/* IODC ENTRY_SPA() */
|
||||
|
||||
/* IODC ENTRY_CONFIG() */
|
||||
|
||||
/* IODC ENTRY_TEST() */
|
||||
|
||||
/* IODC ENTRY_TLB() */
|
||||
|
||||
|
||||
/* DEFINITION OF THE ZERO-PAGE (PAG0) */
|
||||
/* based on work by Jason Eckhardt (jason@equator.com) */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#define PAGE0 ((struct zeropage *)__PAGE_OFFSET)
|
||||
|
||||
struct zeropage {
|
||||
/* [0x000] initialize vectors (VEC) */
|
||||
unsigned int vec_special; /* must be zero */
|
||||
/* int (*vec_pow_fail)(void);*/
|
||||
unsigned int vec_pow_fail; /* power failure handler */
|
||||
/* int (*vec_toc)(void); */
|
||||
unsigned int vec_toc;
|
||||
unsigned int vec_toclen;
|
||||
/* int (*vec_rendz)(void); */
|
||||
unsigned int vec_rendz;
|
||||
int vec_pow_fail_flen;
|
||||
int vec_pad[10];
|
||||
|
||||
/* [0x040] reserved processor dependent */
|
||||
int pad0[112];
|
||||
|
||||
/* [0x200] reserved */
|
||||
int pad1[84];
|
||||
|
||||
/* [0x350] memory configuration (MC) */
|
||||
int memc_cont; /* contiguous mem size (bytes) */
|
||||
int memc_phsize; /* physical memory size */
|
||||
int memc_adsize; /* additional mem size, bytes of SPA space used by PDC */
|
||||
unsigned int mem_pdc_hi; /* used for 64-bit */
|
||||
|
||||
/* [0x360] various parameters for the boot-CPU */
|
||||
/* unsigned int *mem_booterr[8]; */
|
||||
unsigned int mem_booterr[8]; /* ptr to boot errors */
|
||||
unsigned int mem_free; /* first location, where OS can be loaded */
|
||||
/* struct iomod *mem_hpa; */
|
||||
unsigned int mem_hpa; /* HPA of the boot-CPU */
|
||||
/* int (*mem_pdc)(int, ...); */
|
||||
unsigned int mem_pdc; /* PDC entry point */
|
||||
unsigned int mem_10msec; /* number of clock ticks in 10msec */
|
||||
|
||||
/* [0x390] initial memory module (IMM) */
|
||||
/* struct iomod *imm_hpa; */
|
||||
unsigned int imm_hpa; /* HPA of the IMM */
|
||||
int imm_soft_boot; /* 0 = was hard boot, 1 = was soft boot */
|
||||
unsigned int imm_spa_size; /* SPA size of the IMM in bytes */
|
||||
unsigned int imm_max_mem; /* bytes of mem in IMM */
|
||||
|
||||
/* [0x3A0] boot console, display device and keyboard */
|
||||
struct pz_device mem_cons; /* description of console device */
|
||||
struct pz_device mem_boot; /* description of boot device */
|
||||
struct pz_device mem_kbd; /* description of keyboard device */
|
||||
|
||||
/* [0x430] reserved */
|
||||
int pad430[116];
|
||||
|
||||
/* [0x600] processor dependent */
|
||||
__u32 pad600[1];
|
||||
__u32 proc_sti; /* pointer to STI ROM */
|
||||
__u32 pad608[126];
|
||||
};
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* Page Zero constant offsets used by the HPMC handler */
|
||||
|
||||
#define BOOT_CONSOLE_HPA_OFFSET 0x3c0
|
||||
#define BOOT_CONSOLE_SPA_OFFSET 0x3c4
|
||||
#define BOOT_CONSOLE_PATH_OFFSET 0x3a8
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
void pdc_console_init(void); /* in pdc_console.c */
|
||||
void pdc_console_restart(void);
|
||||
|
||||
@@ -724,7 +604,7 @@ int pdc_iodc_read(unsigned long *actcnt, unsigned long hpa, unsigned int index,
|
||||
void *iodc_data, unsigned int iodc_data_size);
|
||||
int pdc_system_map_find_mods(struct pdc_system_map_mod_info *pdc_mod_info,
|
||||
struct pdc_module_path *mod_path, long mod_index);
|
||||
int pdc_system_map_find_addrs(struct pdc_system_map_addr_info *pdc_addr_info,
|
||||
int pdc_system_map_find_addrs(struct pdc_system_map_addr_info *pdc_addr_info,
|
||||
long mod_index, long addr_index);
|
||||
int pdc_model_info(struct pdc_model *model);
|
||||
int pdc_model_sysmodel(char *name);
|
||||
@@ -786,6 +666,94 @@ static inline char * os_id_to_string(u16 os_id) {
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#define PAGE0 ((struct zeropage *)__PAGE_OFFSET)
|
||||
|
||||
/* DEFINITION OF THE ZERO-PAGE (PAG0) */
|
||||
/* based on work by Jason Eckhardt (jason@equator.com) */
|
||||
|
||||
/* flags of the device_path */
|
||||
#define PF_AUTOBOOT 0x80
|
||||
#define PF_AUTOSEARCH 0x40
|
||||
#define PF_TIMER 0x0F
|
||||
|
||||
struct device_path { /* page 1-69 */
|
||||
unsigned char flags; /* flags see above! */
|
||||
unsigned char bc[6]; /* bus converter routing info */
|
||||
unsigned char mod;
|
||||
unsigned int layers[6];/* device-specific layer-info */
|
||||
} __attribute__((aligned(8))) ;
|
||||
|
||||
struct pz_device {
|
||||
struct device_path dp; /* see above */
|
||||
/* struct iomod *hpa; */
|
||||
unsigned int hpa; /* HPA base address */
|
||||
/* char *spa; */
|
||||
unsigned int spa; /* SPA base address */
|
||||
/* int (*iodc_io)(struct iomod*, ...); */
|
||||
unsigned int iodc_io; /* device entry point */
|
||||
short pad; /* reserved */
|
||||
unsigned short cl_class;/* see below */
|
||||
} __attribute__((aligned(8))) ;
|
||||
|
||||
struct zeropage {
|
||||
/* [0x000] initialize vectors (VEC) */
|
||||
unsigned int vec_special; /* must be zero */
|
||||
/* int (*vec_pow_fail)(void);*/
|
||||
unsigned int vec_pow_fail; /* power failure handler */
|
||||
/* int (*vec_toc)(void); */
|
||||
unsigned int vec_toc;
|
||||
unsigned int vec_toclen;
|
||||
/* int (*vec_rendz)(void); */
|
||||
unsigned int vec_rendz;
|
||||
int vec_pow_fail_flen;
|
||||
int vec_pad[10];
|
||||
|
||||
/* [0x040] reserved processor dependent */
|
||||
int pad0[112];
|
||||
|
||||
/* [0x200] reserved */
|
||||
int pad1[84];
|
||||
|
||||
/* [0x350] memory configuration (MC) */
|
||||
int memc_cont; /* contiguous mem size (bytes) */
|
||||
int memc_phsize; /* physical memory size */
|
||||
int memc_adsize; /* additional mem size, bytes of SPA space used by PDC */
|
||||
unsigned int mem_pdc_hi; /* used for 64-bit */
|
||||
|
||||
/* [0x360] various parameters for the boot-CPU */
|
||||
/* unsigned int *mem_booterr[8]; */
|
||||
unsigned int mem_booterr[8]; /* ptr to boot errors */
|
||||
unsigned int mem_free; /* first location, where OS can be loaded */
|
||||
/* struct iomod *mem_hpa; */
|
||||
unsigned int mem_hpa; /* HPA of the boot-CPU */
|
||||
/* int (*mem_pdc)(int, ...); */
|
||||
unsigned int mem_pdc; /* PDC entry point */
|
||||
unsigned int mem_10msec; /* number of clock ticks in 10msec */
|
||||
|
||||
/* [0x390] initial memory module (IMM) */
|
||||
/* struct iomod *imm_hpa; */
|
||||
unsigned int imm_hpa; /* HPA of the IMM */
|
||||
int imm_soft_boot; /* 0 = was hard boot, 1 = was soft boot */
|
||||
unsigned int imm_spa_size; /* SPA size of the IMM in bytes */
|
||||
unsigned int imm_max_mem; /* bytes of mem in IMM */
|
||||
|
||||
/* [0x3A0] boot console, display device and keyboard */
|
||||
struct pz_device mem_cons; /* description of console device */
|
||||
struct pz_device mem_boot; /* description of boot device */
|
||||
struct pz_device mem_kbd; /* description of keyboard device */
|
||||
|
||||
/* [0x430] reserved */
|
||||
int pad430[116];
|
||||
|
||||
/* [0x600] processor dependent */
|
||||
__u32 pad600[1];
|
||||
__u32 proc_sti; /* pointer to STI ROM */
|
||||
__u32 pad608[126];
|
||||
};
|
||||
|
||||
#endif /* !defined(__ASSEMBLY__) */
|
||||
|
||||
#endif /* _PARISC_PDC_H */
|
||||
|
||||
@@ -49,14 +49,6 @@
|
||||
#define pgd_ERROR(e) \
|
||||
printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, (unsigned long)pgd_val(e))
|
||||
|
||||
/* Note: If you change ISTACK_SIZE, you need to change the corresponding
|
||||
* values in vmlinux.lds and vmlinux64.lds (init_istack section). Also,
|
||||
* the "order" and size need to agree.
|
||||
*/
|
||||
|
||||
#define ISTACK_SIZE 32768 /* Interrupt Stack Size */
|
||||
#define ISTACK_ORDER 3
|
||||
|
||||
/* This is the size of the initially mapped kernel memory */
|
||||
#ifdef CONFIG_64BIT
|
||||
#define KERNEL_INITIAL_ORDER 24 /* 0 to 1<<24 = 16MB */
|
||||
@@ -325,27 +317,27 @@ static inline void pgd_clear(pgd_t *pgd) {
|
||||
* setup: the pgd is never bad, and a pmd always exists (as it's folded
|
||||
* into the pgd entry)
|
||||
*/
|
||||
extern inline int pgd_none(pgd_t pgd) { return 0; }
|
||||
extern inline int pgd_bad(pgd_t pgd) { return 0; }
|
||||
extern inline int pgd_present(pgd_t pgd) { return 1; }
|
||||
extern inline void pgd_clear(pgd_t * pgdp) { }
|
||||
static inline int pgd_none(pgd_t pgd) { return 0; }
|
||||
static inline int pgd_bad(pgd_t pgd) { return 0; }
|
||||
static inline int pgd_present(pgd_t pgd) { return 1; }
|
||||
static inline void pgd_clear(pgd_t * pgdp) { }
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following only work if pte_present() is true.
|
||||
* Undefined behaviour if not..
|
||||
*/
|
||||
extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
|
||||
extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
|
||||
extern inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; }
|
||||
extern inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
|
||||
static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
|
||||
static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
|
||||
static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; }
|
||||
static inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
|
||||
|
||||
extern inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; }
|
||||
extern inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; }
|
||||
extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_WRITE; return pte; }
|
||||
extern inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; }
|
||||
extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; }
|
||||
extern inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; }
|
||||
static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; }
|
||||
static inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; }
|
||||
static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_WRITE; return pte; }
|
||||
static inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; }
|
||||
static inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; }
|
||||
static inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; }
|
||||
|
||||
/*
|
||||
* Conversion functions: convert a page and protection to a page entry,
|
||||
@@ -369,7 +361,7 @@ static inline pte_t pfn_pte(unsigned long pfn, pgprot_t pgprot)
|
||||
return pte;
|
||||
}
|
||||
|
||||
extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
|
||||
static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
|
||||
{ pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); return pte; }
|
||||
|
||||
/* Permanent address of a page. On parisc we don't have highmem. */
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifdef CONFIG_PREFETCH
|
||||
|
||||
#define ARCH_HAS_PREFETCH
|
||||
extern inline void prefetch(const void *addr)
|
||||
static inline void prefetch(const void *addr)
|
||||
{
|
||||
__asm__("ldw 0(%0), %%r0" : : "r" (addr));
|
||||
}
|
||||
@@ -27,7 +27,7 @@ extern inline void prefetch(const void *addr)
|
||||
/* LDD is a PA2.0 addition. */
|
||||
#ifdef CONFIG_PA20
|
||||
#define ARCH_HAS_PREFETCHW
|
||||
extern inline void prefetchw(const void *addr)
|
||||
static inline void prefetchw(const void *addr)
|
||||
{
|
||||
__asm__("ldd 0(%0), %%r0" : : "r" (addr));
|
||||
}
|
||||
|
||||
@@ -50,10 +50,10 @@ static inline unsigned int get_rtc_time(struct rtc_time *wtime)
|
||||
long int days, rem, y;
|
||||
const unsigned short int *ip;
|
||||
|
||||
if(pdc_tod_read(&tod_data) < 0)
|
||||
memset(wtime, 0, sizeof(*wtime));
|
||||
if (pdc_tod_read(&tod_data) < 0)
|
||||
return RTC_24H | RTC_BATT_BAD;
|
||||
|
||||
|
||||
// most of the remainder of this function is:
|
||||
// Copyright (C) 1991, 1993, 1997, 1998 Free Software Foundation, Inc.
|
||||
// This was originally a part of the GNU C Library.
|
||||
|
||||
@@ -54,7 +54,7 @@ struct semaphore {
|
||||
|
||||
#define DECLARE_MUTEX(name) __DECLARE_SEMAPHORE_GENERIC(name,1)
|
||||
|
||||
extern inline void sema_init (struct semaphore *sem, int val)
|
||||
static inline void sema_init (struct semaphore *sem, int val)
|
||||
{
|
||||
*sem = (struct semaphore)__SEMAPHORE_INITIALIZER((*sem),val);
|
||||
}
|
||||
@@ -82,7 +82,7 @@ asmlinkage void __up(struct semaphore * sem);
|
||||
* interrupts while we're messing with the semaphore. Sorry.
|
||||
*/
|
||||
|
||||
extern __inline__ void down(struct semaphore * sem)
|
||||
static inline void down(struct semaphore * sem)
|
||||
{
|
||||
might_sleep();
|
||||
spin_lock_irq(&sem->sentry);
|
||||
@@ -94,7 +94,7 @@ extern __inline__ void down(struct semaphore * sem)
|
||||
spin_unlock_irq(&sem->sentry);
|
||||
}
|
||||
|
||||
extern __inline__ int down_interruptible(struct semaphore * sem)
|
||||
static inline int down_interruptible(struct semaphore * sem)
|
||||
{
|
||||
int ret = 0;
|
||||
might_sleep();
|
||||
@@ -112,7 +112,7 @@ extern __inline__ int down_interruptible(struct semaphore * sem)
|
||||
* down_trylock returns 0 on success, 1 if we failed to get the lock.
|
||||
* May not sleep, but must preserve irq state
|
||||
*/
|
||||
extern __inline__ int down_trylock(struct semaphore * sem)
|
||||
static inline int down_trylock(struct semaphore * sem)
|
||||
{
|
||||
unsigned long flags;
|
||||
int count;
|
||||
@@ -129,7 +129,7 @@ extern __inline__ int down_trylock(struct semaphore * sem)
|
||||
* Note! This is subtle. We jump to wake people up only if
|
||||
* the semaphore was negative (== somebody was waiting on it).
|
||||
*/
|
||||
extern __inline__ void up(struct semaphore * sem)
|
||||
static inline void up(struct semaphore * sem)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
|
||||
@@ -797,8 +797,9 @@
|
||||
#define __NR_signalfd (__NR_Linux + 302)
|
||||
#define __NR_timerfd (__NR_Linux + 303)
|
||||
#define __NR_eventfd (__NR_Linux + 304)
|
||||
#define __NR_fallocate (__NR_Linux + 305)
|
||||
|
||||
#define __NR_Linux_syscalls (__NR_eventfd + 1)
|
||||
#define __NR_Linux_syscalls (__NR_fallocate + 1)
|
||||
|
||||
|
||||
#define __IGNORE_select /* newselect */
|
||||
|
||||
Reference in New Issue
Block a user