Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 57772
b: refs/heads/master
c: c63c4fa
h: refs/heads/master
v: v3
  • Loading branch information
Paul Mackerras committed Jun 14, 2007
1 parent ff0ae66 commit b17b7e2
Show file tree
Hide file tree
Showing 83 changed files with 454 additions and 791 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 22b1a9203ea634ac0ee5240e021613da3328275f
refs/heads/master: c63c4faa8cf055319c7ed557d2050c1c3776fac5
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-s3c2440/mach-anubis.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ static struct map_desc anubis_iodesc[] __initdata = {
.length = SZ_4K,
.type = MT_DEVICE,
}, {
.virtual = (u32)ANUBIS_VA_IDREG,
.pfn = __phys_to_pfn(ANUBIS_PA_IDREG),
.virtual = (u32)ANUBIS_VA_CTRL2,
.pfn = __phys_to_pfn(ANUBIS_PA_CTRL2),
.length = SZ_4K,
.type = MT_DEVICE,
},
Expand Down
58 changes: 4 additions & 54 deletions trunk/arch/arm/mach-s3c2440/mach-osiris.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/sysdev.h>
#include <linux/serial_core.h>

#include <asm/mach/arch.h>
Expand Down Expand Up @@ -66,11 +65,6 @@ static struct map_desc osiris_iodesc[] __initdata = {
/* CPLD control registers */

{
.virtual = (u32)OSIRIS_VA_CTRL0,
.pfn = __phys_to_pfn(OSIRIS_PA_CTRL0),
.length = SZ_16K,
.type = MT_DEVICE,
}, {
.virtual = (u32)OSIRIS_VA_CTRL1,
.pfn = __phys_to_pfn(OSIRIS_PA_CTRL1),
.length = SZ_16K,
Expand All @@ -80,11 +74,6 @@ static struct map_desc osiris_iodesc[] __initdata = {
.pfn = __phys_to_pfn(OSIRIS_PA_CTRL2),
.length = SZ_16K,
.type = MT_DEVICE,
}, {
.virtual = (u32)OSIRIS_VA_IDREG,
.pfn = __phys_to_pfn(OSIRIS_PA_IDREG),
.length = SZ_16K,
.type = MT_DEVICE,
},
};

Expand Down Expand Up @@ -206,13 +195,13 @@ static void osiris_nand_select(struct s3c2410_nand_set *set, int slot)
pr_debug("osiris_nand: selecting slot %d (set %p,%p)\n",
slot, set, set->nr_map);

tmp = __raw_readb(OSIRIS_VA_CTRL0);
tmp &= ~OSIRIS_CTRL0_NANDSEL;
tmp = __raw_readb(OSIRIS_VA_CTRL1);
tmp &= ~OSIRIS_CTRL1_NANDSEL;
tmp |= slot;

pr_debug("osiris_nand: ctrl0 now %02x\n", tmp);
pr_debug("osiris_nand: ctrl1 now %02x\n", tmp);

__raw_writeb(tmp, OSIRIS_VA_CTRL0);
__raw_writeb(tmp, OSIRIS_VA_CTRL1);
}

static struct s3c2410_platform_nand osiris_nand_info = {
Expand Down Expand Up @@ -246,45 +235,10 @@ static struct platform_device osiris_pcmcia = {
.resource = osiris_pcmcia_resource,
};

/* Osiris power management device */

#ifdef CONFIG_PM
static unsigned char pm_osiris_ctrl0;

static int osiris_pm_suspend(struct sys_device *sd, pm_message_t state)
{
pm_osiris_ctrl0 = __raw_readb(OSIRIS_VA_CTRL0);
return 0;
}

static int osiris_pm_resume(struct sys_device *sd)
{
if (pm_osiris_ctrl0 & OSIRIS_CTRL0_FIX8)
__raw_writeb(OSIRIS_CTRL1_FIX8, OSIRIS_VA_CTRL1);

return 0;
}

#else
#define osiris_pm_suspend NULL
#define osiris_pm_resume NULL
#endif

static struct sysdev_class osiris_pm_sysclass = {
set_kset_name("mach-osiris"),
.suspend = osiris_pm_suspend,
.resume = osiris_pm_resume,
};

static struct sys_device osiris_pm_sysdev = {
.cls = &osiris_pm_sysclass,
};

/* Standard Osiris devices */

static struct platform_device *osiris_devices[] __initdata = {
&s3c_device_i2c,
&s3c_device_wdt,
&s3c_device_nand,
&osiris_pcmcia,
};
Expand Down Expand Up @@ -334,9 +288,6 @@ static void __init osiris_map_io(void)

static void __init osiris_init(void)
{
sysdev_class_register(&osiris_pm_sysclass);
sysdev_register(&osiris_pm_sysdev);

platform_add_devices(osiris_devices, ARRAY_SIZE(osiris_devices));
};

Expand All @@ -348,6 +299,5 @@ MACHINE_START(OSIRIS, "Simtec-OSIRIS")
.map_io = osiris_map_io,
.init_machine = osiris_init,
.init_irq = s3c24xx_init_irq,
.init_machine = osiris_init,
.timer = &s3c24xx_timer,
MACHINE_END
4 changes: 0 additions & 4 deletions trunk/arch/arm/vfp/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,6 @@ do_vfp:
add r10, r10, #TI_VFPSTATE @ r10 = workspace
ldr pc, [r4] @ call VFP entry point

ENTRY(vfp_null_entry)
mov pc, lr
ENDPROC(vfp_null_entry)

.LCvfp:
.word vfp_vector

Expand Down
5 changes: 1 addition & 4 deletions trunk/arch/arm/vfp/vfpmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@
*/
void vfp_testing_entry(void);
void vfp_support_entry(void);
void vfp_null_entry(void);

void (*vfp_vector)(void) = vfp_null_entry;
void (*vfp_vector)(void) = vfp_testing_entry;
union vfp_state *last_VFP_context[NR_CPUS];

/*
Expand Down Expand Up @@ -322,10 +321,8 @@ static int __init vfp_init(void)
* The handler is already setup to just log calls, so
* we just need to read the VFPSID register.
*/
vfp_vector = vfp_testing_entry;
vfpsid = fmrx(FPSID);
barrier();
vfp_vector = vfp_null_entry;

printk(KERN_INFO "VFP support v0.3: ");
if (VFP_arch) {
Expand Down
5 changes: 3 additions & 2 deletions trunk/arch/parisc/hpux/fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/file.h>
Expand Down Expand Up @@ -70,14 +69,15 @@ struct getdents_callback {
};

#define NAME_OFFSET(de) ((int) ((de)->d_name - (char __user *) (de)))
#define ROUND_UP(x) (((x)+sizeof(long)-1) & ~(sizeof(long)-1))

static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
u64 ino, unsigned d_type)
{
struct hpux_dirent __user * dirent;
struct getdents_callback * buf = (struct getdents_callback *) __buf;
ino_t d_ino;
int reclen = ALIGN(NAME_OFFSET(dirent) + namlen + 1, sizeof(long));
int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 1);

buf->error = -EINVAL; /* only used if we fail.. */
if (reclen > buf->count)
Expand All @@ -102,6 +102,7 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
}

#undef NAME_OFFSET
#undef ROUND_UP

int hpux_getdents(unsigned int fd, struct hpux_dirent __user *dirent, unsigned int count)
{
Expand Down
40 changes: 37 additions & 3 deletions trunk/arch/parisc/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -954,6 +954,21 @@ intr_return:
/* NOTE: Need to enable interrupts incase we schedule. */
ssm PSW_SM_I, %r0

/* Check for software interrupts */

.import irq_stat,data

load32 irq_stat,%r19
#ifdef CONFIG_SMP
mfctl %cr30,%r1
ldw TI_CPU(%r1),%r1 /* get cpu # - int */
/* shift left ____cacheline_aligned (aka L1_CACHE_BYTES) amount
** irq_stat[] is defined using ____cacheline_aligned.
*/
SHLREG %r1,L1_CACHE_SHIFT,%r20
add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */
#endif /* CONFIG_SMP */

intr_check_resched:

/* check for reschedule */
Expand Down Expand Up @@ -2019,9 +2034,10 @@ ENTRY(syscall_exit)
STREG %r28,TASK_PT_GR28(%r1)

#ifdef CONFIG_HPUX

/* <linux/personality.h> cannot be easily included */
#define PER_HPUX 0x10
ldw TASK_PERSONALITY(%r1),%r19
LDREG TASK_PERSONALITY(%r1),%r19

/* We can't use "CMPIB<> PER_HPUX" since "im5" field is sign extended */
ldo -PER_HPUX(%r19), %r19
Expand All @@ -2039,6 +2055,24 @@ ENTRY(syscall_exit)
*/
loadgp

syscall_check_bh:

/* Check for software interrupts */

.import irq_stat,data

load32 irq_stat,%r19

#ifdef CONFIG_SMP
/* sched.h: int processor */
/* %r26 is used as scratch register to index into irq_stat[] */
ldw TI_CPU-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r26 /* cpu # */

/* shift left ____cacheline_aligned (aka L1_CACHE_BYTES) bits */
SHLREG %r26,L1_CACHE_SHIFT,%r20
add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */
#endif /* CONFIG_SMP */

syscall_check_resched:

/* check for reschedule */
Expand Down Expand Up @@ -2080,7 +2114,7 @@ syscall_restore:
/* Are we being ptraced? */
LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1

ldw TASK_PTRACE(%r1), %r19
LDREG TASK_PTRACE(%r1), %r19
bb,< %r19,31,syscall_restore_rfi
nop

Expand Down Expand Up @@ -2210,7 +2244,7 @@ syscall_do_resched:
#else
nop
#endif
b syscall_check_resched /* if resched, we start over again */
b syscall_check_bh /* if resched, we start over again */
nop
ENDPROC(syscall_exit)

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/parisc/kernel/firmware.c
Original file line number Diff line number Diff line change
Expand Up @@ -634,7 +634,7 @@ EXPORT_SYMBOL(pdc_lan_station_id);
* pdc_stable_read - Read data from Stable Storage.
* @staddr: Stable Storage address to access.
* @memaddr: The memory address where Stable Storage data shall be copied.
* @count: number of bytes to transfer. count is multiple of 4.
* @count: number of bytes to transfert. count is multiple of 4.
*
* This PDC call reads from the Stable Storage address supplied in staddr
* and copies count bytes to the memory address memaddr.
Expand All @@ -660,7 +660,7 @@ EXPORT_SYMBOL(pdc_stable_read);
* pdc_stable_write - Write data to Stable Storage.
* @staddr: Stable Storage address to access.
* @memaddr: The memory address where Stable Storage data shall be read from.
* @count: number of bytes to transfer. count is multiple of 4.
* @count: number of bytes to transfert. count is multiple of 4.
*
* This PDC call reads count bytes from the supplied memaddr address,
* and copies count bytes to the Stable Storage address staddr.
Expand Down
14 changes: 6 additions & 8 deletions trunk/arch/parisc/kernel/hardware.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
* so don't reference this table after starting the init process
*/

static struct hp_hardware hp_hardware_list[] __devinitdata = {
static struct hp_hardware hp_hardware_list[] __initdata = {
{HPHW_NPROC,0x01,0x4,0x0,"Indigo (840, 930)"},
{HPHW_NPROC,0x8,0x4,0x01,"Firefox(825,925)"},
{HPHW_NPROC,0xA,0x4,0x01,"Top Gun (835,834,935,635)"},
Expand Down Expand Up @@ -1219,7 +1219,7 @@ static struct hp_cpu_type_mask {
unsigned short model;
unsigned short mask;
enum cpu_type cpu;
} hp_cpu_type_mask_list[] __devinitdata = {
} hp_cpu_type_mask_list[] __initdata = {

{ 0x0000, 0x0ff0, pcx }, /* 0x0000 - 0x000f */
{ 0x0048, 0x0ff0, pcxl }, /* 0x0040 - 0x004f */
Expand Down Expand Up @@ -1296,11 +1296,10 @@ static struct hp_cpu_type_mask {
{ 0x05f0, 0x0ff0, pcxw2 }, /* 0x05f0 - 0x05ff */
{ 0x0600, 0x0fe0, pcxl }, /* 0x0600 - 0x061f */
{ 0x0880, 0x0ff0, mako }, /* 0x0880 - 0x088f */
{ 0x0890, 0x0ff0, mako2 }, /* 0x0890 - 0x089f */
{ 0x0000, 0x0000, pcx } /* terminate table */
};

const char * const cpu_name_version[][2] = {
char *cpu_name_version[][2] = {
[pcx] = { "PA7000 (PCX)", "1.0" },
[pcxs] = { "PA7000 (PCX-S)", "1.1a" },
[pcxt] = { "PA7100 (PCX-T)", "1.1b" },
Expand All @@ -1312,11 +1311,10 @@ const char * const cpu_name_version[][2] = {
[pcxw] = { "PA8500 (PCX-W)", "2.0" },
[pcxw_] = { "PA8600 (PCX-W+)", "2.0" },
[pcxw2] = { "PA8700 (PCX-W2)", "2.0" },
[mako] = { "PA8800 (Mako)", "2.0" },
[mako2] = { "PA8900 (Shortfin)", "2.0" }
[mako] = { "PA8800 (Mako)", "2.0" }
};

const char * __devinit
const char * __init
parisc_hardware_description(struct parisc_device_id *id)
{
struct hp_hardware *listptr;
Expand Down Expand Up @@ -1355,7 +1353,7 @@ parisc_hardware_description(struct parisc_device_id *id)


/* Interpret hversion (ret[0]) from PDC_MODEL(4)/PDC_MODEL_INFO(0) */
enum cpu_type __cpuinit
enum cpu_type __init
parisc_get_cpu_type(unsigned long hversion)
{
struct hp_cpu_type_mask *ptr;
Expand Down
5 changes: 4 additions & 1 deletion trunk/arch/parisc/kernel/hpmc.S
Original file line number Diff line number Diff line change
Expand Up @@ -295,5 +295,8 @@ os_hpmc_6:
b .
nop
ENDPROC(os_hpmc)
ENTRY(os_hpmc_end) /* this label used to compute os_hpmc checksum */

/* this label used to compute os_hpmc checksum */
ENTRY(os_hpmc_end)

nop
Loading

0 comments on commit b17b7e2

Please sign in to comment.