From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: bp@alien8.de, hpa@zytor.com, tglx@linutronix.de,
mingo@redhat.com, rusty@rustcorp.com.au
Cc: kozerkov@parallels.com, matt@codeblueprint.co.uk,
lv.zheng@intel.com, xen-devel@lists.xensource.com,
joro@8bytes.org, x86@kernel.org, robert.moore@intel.com,
linux-acpi@vger.kernel.org, glin@suse.com, lenb@kernel.org,
josh@joshtriplett.org, jlee@suse.com, lguest@lists.ozlabs.org,
boris.ostrovsky@oracle.com, andriy.shevchenko@linux.intel.com,
toshi.kani@hp.com, andrew.cooper3@citrix.com, rjw@rjwysocki.net,
linux-kernel@vger.kernel.org, luto@amacapital.net,
"Luis R. Rodriguez" <mcgrof@kernel.org>,
david.vrabel@citrix.com, tiwai@suse.de
Subject: [PATCH v5 06/14] x86/init: use a platform legacy quirk for ebda
Date: Fri, 8 Apr 2016 16:40:17 -0700 [thread overview]
Message-ID: <1460158825-13117-7-git-send-email-mcgrof@kernel.org> (raw)
In-Reply-To: <1460158825-13117-1-git-send-email-mcgrof@kernel.org>
This replaces the paravirt_enabled() check with a
proper x86 legacy platform quirk.
As per 0-day, this bumps the vmlinux size using i386-tinyconfig as
follows:
TOTAL TEXT init.text x86_early_init_platform_quirks()
+39 +35 +35 +25
That's a 4 byte total overhead, the rest is all cleared out
upon init as its all __init text.
v2: document 0-day vmlinux size impact
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
arch/x86/include/asm/x86_init.h | 3 +++
arch/x86/kernel/head.c | 2 +-
arch/x86/kernel/platform-quirks.c | 4 ++++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 8bb8c1a4615a..89d9d57e145d 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -145,9 +145,12 @@ struct timespec;
* struct x86_legacy_features - legacy x86 features
*
* @rtc: this device has a CMOS real-time clock present
+ * @ebda_search: it's safe to search for the EBDA signature in the hardware's
+ * low RAM
*/
struct x86_legacy_features {
int rtc;
+ int ebda_search;
};
/**
diff --git a/arch/x86/kernel/head.c b/arch/x86/kernel/head.c
index 992f442ca155..afe65dffee80 100644
--- a/arch/x86/kernel/head.c
+++ b/arch/x86/kernel/head.c
@@ -38,7 +38,7 @@ void __init reserve_ebda_region(void)
* that the paravirt case can handle memory setup
* correctly, without our help.
*/
- if (paravirt_enabled())
+ if (!x86_platform.legacy.ebda_search)
return;
/* end of low (conventional) memory */
diff --git a/arch/x86/kernel/platform-quirks.c b/arch/x86/kernel/platform-quirks.c
index 021a5f973ce3..01b159781d96 100644
--- a/arch/x86/kernel/platform-quirks.c
+++ b/arch/x86/kernel/platform-quirks.c
@@ -7,8 +7,12 @@
void __init x86_early_init_platform_quirks(void)
{
x86_platform.legacy.rtc = 1;
+ x86_platform.legacy.ebda_search = 0;
switch (boot_params.hdr.hardware_subarch) {
+ case X86_SUBARCH_PC:
+ x86_platform.legacy.ebda_search = 1;
+ break;
case X86_SUBARCH_XEN:
case X86_SUBARCH_LGUEST:
case X86_SUBARCH_INTEL_MID:
--
2.7.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: bp@alien8.de, hpa@zytor.com, tglx@linutronix.de,
mingo@redhat.com, rusty@rustcorp.com.au
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
luto@amacapital.net, boris.ostrovsky@oracle.com,
david.vrabel@citrix.com, konrad.wilk@oracle.com,
xen-devel@lists.xensource.com, lguest@lists.ozlabs.org,
andriy.shevchenko@linux.intel.com, jlee@suse.com, glin@suse.com,
matt@codeblueprint.co.uk, andrew.cooper3@citrix.com,
rjw@rjwysocki.net, lenb@kernel.org, robert.moore@intel.com,
lv.zheng@intel.com, toshi.kani@hp.com,
linux-acpi@vger.kernel.org, kozerkov@parallels.com,
josh@joshtriplett.org, joro@8bytes.org, tiwai@suse.de,
"Luis R. Rodriguez" <mcgrof@kernel.org>
Subject: [PATCH v5 06/14] x86/init: use a platform legacy quirk for ebda
Date: Fri, 8 Apr 2016 16:40:17 -0700 [thread overview]
Message-ID: <1460158825-13117-7-git-send-email-mcgrof@kernel.org> (raw)
In-Reply-To: <1460158825-13117-1-git-send-email-mcgrof@kernel.org>
This replaces the paravirt_enabled() check with a
proper x86 legacy platform quirk.
As per 0-day, this bumps the vmlinux size using i386-tinyconfig as
follows:
TOTAL TEXT init.text x86_early_init_platform_quirks()
+39 +35 +35 +25
That's a 4 byte total overhead, the rest is all cleared out
upon init as its all __init text.
v2: document 0-day vmlinux size impact
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
arch/x86/include/asm/x86_init.h | 3 +++
arch/x86/kernel/head.c | 2 +-
arch/x86/kernel/platform-quirks.c | 4 ++++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 8bb8c1a4615a..89d9d57e145d 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -145,9 +145,12 @@ struct timespec;
* struct x86_legacy_features - legacy x86 features
*
* @rtc: this device has a CMOS real-time clock present
+ * @ebda_search: it's safe to search for the EBDA signature in the hardware's
+ * low RAM
*/
struct x86_legacy_features {
int rtc;
+ int ebda_search;
};
/**
diff --git a/arch/x86/kernel/head.c b/arch/x86/kernel/head.c
index 992f442ca155..afe65dffee80 100644
--- a/arch/x86/kernel/head.c
+++ b/arch/x86/kernel/head.c
@@ -38,7 +38,7 @@ void __init reserve_ebda_region(void)
* that the paravirt case can handle memory setup
* correctly, without our help.
*/
- if (paravirt_enabled())
+ if (!x86_platform.legacy.ebda_search)
return;
/* end of low (conventional) memory */
diff --git a/arch/x86/kernel/platform-quirks.c b/arch/x86/kernel/platform-quirks.c
index 021a5f973ce3..01b159781d96 100644
--- a/arch/x86/kernel/platform-quirks.c
+++ b/arch/x86/kernel/platform-quirks.c
@@ -7,8 +7,12 @@
void __init x86_early_init_platform_quirks(void)
{
x86_platform.legacy.rtc = 1;
+ x86_platform.legacy.ebda_search = 0;
switch (boot_params.hdr.hardware_subarch) {
+ case X86_SUBARCH_PC:
+ x86_platform.legacy.ebda_search = 1;
+ break;
case X86_SUBARCH_XEN:
case X86_SUBARCH_LGUEST:
case X86_SUBARCH_INTEL_MID:
--
2.7.2
next prev parent reply other threads:[~2016-04-08 23:40 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-08 23:40 [PATCH v5 00/14] x86: remove paravirt_enabled() Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 01/14] x86/boot: enumerate documentation for the x86 hardware_subarch Luis R. Rodriguez
2016-04-13 8:01 ` Ingo Molnar
2016-04-13 15:17 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 02/14] x86/xen: use X86_SUBARCH_XEN for PV guest boots Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 03/14] tools/lguest: make lguest launcher use X86_SUBARCH_LGUEST explicitly Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 04/14] x86/rtc: replace paravirt rtc check with platform legacy quirk Luis R. Rodriguez
2016-04-11 6:50 ` [Xen-devel] " Juergen Gross
2016-04-12 20:50 ` Luis R. Rodriguez
2016-04-13 22:49 ` Luis R. Rodriguez
2016-04-11 13:49 ` Boris Ostrovsky
2016-04-11 13:49 ` Boris Ostrovsky
2016-04-12 20:56 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 05/14] x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez [this message]
2016-04-08 23:40 ` [PATCH v5 06/14] x86/init: use a platform legacy quirk for ebda Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 07/14] tools/lguest: force disable tboot and apm Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 08/14] apm32: remove paravirt_enabled() use Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 09/14] x86/tboot: remove paravirt_enabled() Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 10/14] x86/cpu/intel: remove not needed paravirt_enabled() for f00f work around Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 11/14] pnpbios: replace paravirt_enabled() check with legacy device check Luis R. Rodriguez
2016-04-08 23:40 ` Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 12/14] x86, ACPI: parse ACPI_FADT_LEGACY_DEVICES Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 13/14] x86/init: rename ebda code file Luis R. Rodriguez
2016-04-08 23:40 ` [PATCH v5 14/14] x86/paravirt: remove paravirt_enabled() Luis R. Rodriguez
2016-04-11 6:51 ` [Xen-devel] " Juergen Gross
2016-04-08 23:57 ` [PATCH v5 02/14] x86/xen: use X86_SUBARCH_XEN for PV guest boots Luis R. Rodriguez
2016-04-08 23:57 ` [PATCH v5 04/14] x86/rtc: replace paravirt rtc check with platform legacy quirk Luis R. Rodriguez
2016-04-08 23:57 ` [PATCH v5 05/14] x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code Luis R. Rodriguez
2016-04-08 23:58 ` [PATCH v5 07/14] tools/lguest: force disable tboot and apm Luis R. Rodriguez
2016-04-13 8:44 ` Ingo Molnar
2016-04-13 15:45 ` Luis R. Rodriguez
2016-04-08 23:58 ` [PATCH v5 09/14] x86/tboot: remove paravirt_enabled() Luis R. Rodriguez
2016-04-08 23:58 ` [PATCH v5 10/14] x86/cpu/intel: remove not needed paravirt_enabled() for f00f work around Luis R. Rodriguez
2016-04-08 23:59 ` [PATCH v5 14/14] x86/paravirt: remove paravirt_enabled() Luis R. Rodriguez
2016-04-09 0:00 ` [PATCH v5 00/14] x86: " Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1460158825-13117-7-git-send-email-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=andrew.cooper3@citrix.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=david.vrabel@citrix.com \
--cc=glin@suse.com \
--cc=hpa@zytor.com \
--cc=jlee@suse.com \
--cc=joro@8bytes.org \
--cc=josh@joshtriplett.org \
--cc=kozerkov@parallels.com \
--cc=lenb@kernel.org \
--cc=lguest@lists.ozlabs.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=lv.zheng@intel.com \
--cc=matt@codeblueprint.co.uk \
--cc=mingo@redhat.com \
--cc=rjw@rjwysocki.net \
--cc=robert.moore@intel.com \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=tiwai@suse.de \
--cc=toshi.kani@hp.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.