forked from Minki/linux
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Clean up asm-sparc/elf.h pollution in userspace. [SPARC64]: Fix of_ioremap(). [SPARC64]: Compute dma_end argument to sabre_pbm_init() correctly.
This commit is contained in:
commit
d2c5f06e36
@ -131,8 +131,13 @@ static int of_device_resume(struct device * dev)
|
||||
void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name)
|
||||
{
|
||||
unsigned long ret = res->start + offset;
|
||||
struct resource *r;
|
||||
|
||||
if (!request_region(ret, size, name))
|
||||
if (res->flags & IORESOURCE_MEM)
|
||||
r = request_mem_region(ret, size, name);
|
||||
else
|
||||
r = request_region(ret, size, name);
|
||||
if (!r)
|
||||
ret = 0;
|
||||
|
||||
return (void __iomem *) ret;
|
||||
|
@ -1465,5 +1465,5 @@ void sabre_init(struct device_node *dp, char *model_name)
|
||||
/*
|
||||
* Look for APB underneath.
|
||||
*/
|
||||
sabre_pbm_init(p, dp, vdma[0], vdma[1]);
|
||||
sabre_pbm_init(p, dp, vdma[0], vdma[0] + vdma[1]);
|
||||
}
|
||||
|
@ -8,11 +8,6 @@
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <asm/mbus.h>
|
||||
#include <asm/uaccess.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Sparc section types
|
||||
*/
|
||||
@ -77,6 +72,23 @@ typedef unsigned long elf_greg_t;
|
||||
#define ELF_NGREG 38
|
||||
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
unsigned long pr_regs[32];
|
||||
double pr_dregs[16];
|
||||
} pr_fr;
|
||||
unsigned long __unused;
|
||||
unsigned long pr_fsr;
|
||||
unsigned char pr_qcnt;
|
||||
unsigned char pr_q_entrysize;
|
||||
unsigned char pr_en;
|
||||
unsigned int pr_q[64];
|
||||
} elf_fpregset_t;
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <asm/mbus.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
/* Format is:
|
||||
* G0 --> G7
|
||||
* O0 --> O7
|
||||
@ -99,20 +111,7 @@ do { unsigned long *dest = &(__elf_regs[0]); \
|
||||
dest[34] = src->npc; \
|
||||
dest[35] = src->y; \
|
||||
dest[36] = dest[37] = 0; /* XXX */ \
|
||||
} while(0); /* Janitors: Don't touch this colon. */
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
unsigned long pr_regs[32];
|
||||
double pr_dregs[16];
|
||||
} pr_fr;
|
||||
unsigned long __unused;
|
||||
unsigned long pr_fsr;
|
||||
unsigned char pr_qcnt;
|
||||
unsigned char pr_q_entrysize;
|
||||
unsigned char pr_en;
|
||||
unsigned int pr_q[64];
|
||||
} elf_fpregset_t;
|
||||
} while(0); /* Janitors: Don't touch this semicolon. */
|
||||
|
||||
#define ELF_CORE_COPY_TASK_REGS(__tsk, __elf_regs) \
|
||||
({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread.kregs); 1; })
|
||||
@ -165,8 +164,8 @@ typedef struct {
|
||||
|
||||
#define ELF_PLATFORM (NULL)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* !(__ASMSPARC_ELF_H) */
|
||||
|
Loading…
Reference in New Issue
Block a user