Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Browse files Browse the repository at this point in the history
* 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.
  • Loading branch information
Linus Torvalds committed Oct 20, 2006
2 parents c144879 + 6cf431d commit d2c5f06
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 23 deletions.
7 changes: 6 additions & 1 deletion arch/sparc64/kernel/of_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion arch/sparc64/kernel/pci_sabre.c
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
}
41 changes: 20 additions & 21 deletions include/asm-sparc/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@

#include <asm/ptrace.h>

#ifdef __KERNEL__
#include <asm/mbus.h>
#include <asm/uaccess.h>
#endif

/*
* Sparc section types
*/
Expand Down Expand Up @@ -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
Expand All @@ -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; })
Expand Down Expand Up @@ -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) */

0 comments on commit d2c5f06

Please sign in to comment.