lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <3777197.HSR7Q9huIS@vostro.rjw.lan> Date: Sun, 20 Jul 2014 01:46:25 +0200 From: "Rafael J. Wysocki" <rjw@...ysocki.net> To: Lv Zheng <lv.zheng@...el.com> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>, Len Brown <len.brown@...el.com>, Lv Zheng <zetalog@...il.com>, linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org Subject: Re: [PATCH v3 2/7] ACPICA: Linux: Add stub implementation of ACPICA 64-bit mathematics. On Wednesday, July 16, 2014 04:58:00 PM Lv Zheng wrote: > This patch adds default 64-bit mathematics in aclinux.h using do_div(). As > do_div() can be used for all Linux architectures, this can also be used as > stub macros for ACPICA 64-bit mathematics. > > But this is not a performance friendly way, as ACPICA's architecture > specific division OSL only requires a dividing 64-bit number with a 32-bit > number implementation, while Linux __div64_32() is not available for all > build environments. So currently, if an architecture really wants to > support ACPICA, it must implement its own division OSL. What does this mean for i386, in particular? > This is required by the ACPICA header stub support. ACPICA header stubs are > useful to protect CONFIG_ACPI=n Linux kernel builds where ACPICA headers > are included. Lv Zheng. > > Signed-off-by: Lv Zheng <lv.zheng@...el.com> > --- > include/acpi/platform/aclinuxex.h | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/include/acpi/platform/aclinuxex.h b/include/acpi/platform/aclinuxex.h > index 191e741..568d4b8 100644 > --- a/include/acpi/platform/aclinuxex.h > +++ b/include/acpi/platform/aclinuxex.h > @@ -46,6 +46,28 @@ > > #ifdef __KERNEL__ > > +#ifndef ACPI_USE_NATIVE_DIVIDE > + > +#ifndef ACPI_DIV_64_BY_32 > +#define ACPI_DIV_64_BY_32(n_hi, n_lo, d32, q32, r32) \ > + do { \ > + u64 (__n) = ((u64) n_hi) << 32 | (n_lo); \ > + (r32) = do_div ((__n), (d32)); \ > + (q32) = (u32) (__n); \ > + } while (0) > +#endif > + > +#ifndef ACPI_SHIFT_RIGHT_64 > +#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ > + do { \ > + (n_lo) >>= 1; \ > + (n_lo) |= (((n_hi) & 1) << 31); \ > + (n_hi) >>= 1; \ > + } while (0) > +#endif > + > +#endif > + > /* > * Overrides for in-kernel ACPICA > */ > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists