Skip to content

Commit

Permalink
Merge branch 'parisc-5.1-2' of git://git.kernel.org/pub/scm/linux/ker…
Browse files Browse the repository at this point in the history
…nel/git/deller/parisc-linux

Pull parisc fixes from Helge Deller:
 "A 32-bit boot regression fix introduced in the merge window, a QEMU
  detection fix and two fixes by Sven regarding ptrace & kprobes"

* 'parisc-5.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: Detect QEMU earlier in boot process
  parisc: also set iaoq_b in instruction_pointer_set()
  parisc: regs_return_value() should return gpr28
  Revert: parisc: Use F_EXTEND() macro in iosapic code
  • Loading branch information
torvalds committed Apr 6, 2019
2 parents 10dce8a + d006e95 commit 373c392
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 9 deletions.
5 changes: 3 additions & 2 deletions arch/parisc/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,14 @@ unsigned long profile_pc(struct pt_regs *);

static inline unsigned long regs_return_value(struct pt_regs *regs)
{
return regs->gr[20];
return regs->gr[28];
}

static inline void instruction_pointer_set(struct pt_regs *regs,
unsigned long val)
{
regs->iaoq[0] = val;
regs->iaoq[0] = val;
regs->iaoq[1] = val + 4;
}

/* Query offset/name of register from its name/offset */
Expand Down
6 changes: 0 additions & 6 deletions arch/parisc/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,6 @@ void __cpuidle arch_cpu_idle(void)

static int __init parisc_idle_init(void)
{
const char *marker;

/* check QEMU/SeaBIOS marker in PAGE0 */
marker = (char *) &PAGE0->pad0;
running_on_qemu = (memcmp(marker, "SeaBIOS", 8) == 0);

if (!running_on_qemu)
cpu_idle_poll_ctrl(1);

Expand Down
3 changes: 3 additions & 0 deletions arch/parisc/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,9 @@ void __init start_parisc(void)
int ret, cpunum;
struct pdc_coproc_cfg coproc_cfg;

/* check QEMU/SeaBIOS marker in PAGE0 */
running_on_qemu = (memcmp(&PAGE0->pad0, "SeaBIOS", 8) == 0);

cpunum = smp_processor_id();

init_cpu_topology();
Expand Down
6 changes: 5 additions & 1 deletion drivers/parisc/iosapic.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,12 @@
#define DBG_IRT(x...)
#endif

#ifdef CONFIG_64BIT
#define COMPARE_IRTE_ADDR(irte, hpa) ((irte)->dest_iosapic_addr == (hpa))
#else
#define COMPARE_IRTE_ADDR(irte, hpa) \
((irte)->dest_iosapic_addr == F_EXTEND(hpa))
((irte)->dest_iosapic_addr == ((hpa) | 0xffffffff00000000ULL))
#endif

#define IOSAPIC_REG_SELECT 0x00
#define IOSAPIC_REG_WINDOW 0x10
Expand Down

0 comments on commit 373c392

Please sign in to comment.