Re: parisc: add barriers to mmio accessors

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

 



On Tue, Jun 3, 2008 at 1:42 AM, Kyle McMartin <kyle@xxxxxxxxxxx> wrote:
> Prevents GCC from reordering mmio accesses with regular memory
> accesses.
>
> They're in assembly since I felt like maybe using the strongly
> ordered completer on the instructions, so they would be more obvious
> in disassembly. (Yes, I know there's no weakly ordered PA
> implementation...)
> +#ifdef CONFIG_64BIT
> +       asm volatile(
> +       "       ldq     0(%0), %1\n"
> +       : : "r"(addr), "r"(q) : "memory");
> +#else
> +       unsigned int q_lo, q_hi;
> +       q_hi = __raw_readl(addr);
> +       q_lo = __raw_readl(addr+4);
> +       q = (unsigned long long)(q_hi << 32) | (q_lo);
> +#endif
> +
> +       return q;

Is there any reason the 32-bit version is uses plain C?

Cheers,
Carlos.
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  Powered by Linux