Commit 40e38d30 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
      [MIPS] Alchemy:  Fix PCI-memory access
  [MIPS] Fix N32 SysV IPC routines
  [MIPS] PNX8550: Fix system timer initialization
parents c70a1ce8 8a93c496
...@@ -39,15 +39,15 @@ ...@@ -39,15 +39,15 @@
/* TBD */ /* TBD */
static struct resource pci_io_resource = { static struct resource pci_io_resource = {
.start = PCI_IO_START, .start = (resource_size_t)PCI_IO_START,
.end = PCI_IO_END, .end = (resource_size_t)PCI_IO_END,
.name = "PCI IO space", .name = "PCI IO space",
.flags = IORESOURCE_IO .flags = IORESOURCE_IO
}; };
static struct resource pci_mem_resource = { static struct resource pci_mem_resource = {
.start = PCI_MEM_START, .start = (resource_size_t)PCI_MEM_START,
.end = PCI_MEM_END, .end = (resource_size_t)PCI_MEM_END,
.name = "PCI memory space", .name = "PCI memory space",
.flags = IORESOURCE_MEM .flags = IORESOURCE_MEM
}; };
......
...@@ -440,14 +440,26 @@ sys32_ipc (u32 call, int first, int second, int third, u32 ptr, u32 fifth) ...@@ -440,14 +440,26 @@ sys32_ipc (u32 call, int first, int second, int third, u32 ptr, u32 fifth)
} }
#ifdef CONFIG_MIPS32_N32 #ifdef CONFIG_MIPS32_N32
asmlinkage long sysn32_semctl(int semid, int semnum, int cmd, union semun arg) asmlinkage long sysn32_semctl(int semid, int semnum, int cmd, u32 arg)
{ {
/* compat_sys_semctl expects a pointer to union semun */ /* compat_sys_semctl expects a pointer to union semun */
u32 __user *uptr = compat_alloc_user_space(sizeof(u32)); u32 __user *uptr = compat_alloc_user_space(sizeof(u32));
if (put_user(ptr_to_compat(arg.__pad), uptr)) if (put_user(arg, uptr))
return -EFAULT; return -EFAULT;
return compat_sys_semctl(semid, semnum, cmd, uptr); return compat_sys_semctl(semid, semnum, cmd, uptr);
} }
asmlinkage long sysn32_msgsnd(int msqid, u32 msgp, unsigned msgsz, int msgflg)
{
return compat_sys_msgsnd(msqid, msgsz, msgflg, compat_ptr(msgp));
}
asmlinkage long sysn32_msgrcv(int msqid, u32 msgp, size_t msgsz, int msgtyp,
int msgflg)
{
return compat_sys_msgrcv(msqid, msgsz, msgtyp, msgflg, IPC_64,
compat_ptr(msgp));
}
#endif #endif
struct sysctl_args32 struct sysctl_args32
......
...@@ -187,8 +187,8 @@ EXPORT(sysn32_call_table) ...@@ -187,8 +187,8 @@ EXPORT(sysn32_call_table)
PTR sysn32_semctl PTR sysn32_semctl
PTR sys_shmdt /* 6065 */ PTR sys_shmdt /* 6065 */
PTR sys_msgget PTR sys_msgget
PTR compat_sys_msgsnd PTR sysn32_msgsnd
PTR compat_sys_msgrcv PTR sysn32_msgrcv
PTR compat_sys_msgctl PTR compat_sys_msgctl
PTR compat_sys_fcntl /* 6070 */ PTR compat_sys_fcntl /* 6070 */
PTR sys_flock PTR sys_flock
......
...@@ -79,6 +79,7 @@ void pnx8550_time_init(void) ...@@ -79,6 +79,7 @@ void pnx8550_time_init(void)
*/ */
mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p)); mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p));
cpj = (mips_hpt_frequency + HZ / 2) / HZ; cpj = (mips_hpt_frequency + HZ / 2) / HZ;
write_c0_count(0);
timer_ack(); timer_ack();
/* Setup Timer 2 */ /* Setup Timer 2 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment