Re: [PATCH 2/2] parisc: add support for TOC (transfer of control)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Helge,

Helge Deller <deller@xxxxxx> writes:

> On 10/10/21 20:38, Sven Schnelle wrote:
>> +void notrace toc_intr(struct pt_regs *regs)
>> +{
>> +	struct pdc_toc_pim_20 pim_data20;
>> +	struct pdc_toc_pim_11 pim_data11;
>> +
>> +	nmi_enter();
>> +
>> +	if (boot_cpu_data.cpu_type >= pcxu) {
>
> I wonder if this is correct.
> If we boot a 32bit-kernel on a 64-bit (pcxu) machine, then
> I think the code below for pdc_pim_toc11() should be executed.
> So, maybe we need a #ifdef CONFIG_64BIT above...
>
>
>> +		if (pdc_pim_toc20(&pim_data20))
>> +			panic("Failed to get PIM data");
>> +		toc20_to_pt_regs(regs, &pim_data20);
>> +	} else {
>
> ... with an #else here
>
>> +		if (pdc_pim_toc11(&pim_data11))
>> +			panic("Failed to get PIM data");
>> +		toc11_to_pt_regs(regs, &pim_data11);
>> +	}
>
> and #endif here. ??

Hmm, that's what i understood from the HPMC PIM code,
transfer_pim_to_trap_frame(). If it's running a 32 Bit OS, than PDC
returns a wide frame on a 64 bit capable CPU? But maybe i have to read
the documentation/code again.

Regards
Sven



[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux