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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 11 Apr 2016 09:49:56 -0400
From:	Boris Ostrovsky <boris.ostrovsky@...cle.com>
To:	"Luis R. Rodriguez" <mcgrof@...nel.org>, bp@...en8.de,
	hpa@...or.com, tglx@...utronix.de, mingo@...hat.com,
	rusty@...tcorp.com.au
Cc:	x86@...nel.org, linux-kernel@...r.kernel.org, luto@...capital.net,
	david.vrabel@...rix.com, konrad.wilk@...cle.com,
	xen-devel@...ts.xensource.com, lguest@...ts.ozlabs.org,
	andriy.shevchenko@...ux.intel.com, jlee@...e.com, glin@...e.com,
	matt@...eblueprint.co.uk, andrew.cooper3@...rix.com,
	rjw@...ysocki.net, lenb@...nel.org, robert.moore@...el.com,
	lv.zheng@...el.com, toshi.kani@...com, linux-acpi@...r.kernel.org,
	kozerkov@...allels.com, josh@...htriplett.org, joro@...tes.org,
	tiwai@...e.de
Subject: Re: [PATCH v5 04/14] x86/rtc: replace paravirt rtc check with
 platform legacy quirk

On 04/08/2016 07:40 PM, Luis R. Rodriguez wrote:

diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 1ae89a2721d6..8bb8c1a4615a 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -142,6 +142,15 @@ struct x86_cpuinit_ops {
  struct timespec;
  
  /**
+ * struct x86_legacy_features - legacy x86 features
+ *
+ * @rtc: this device has a CMOS real-time clock present
+ */
+struct x86_legacy_features {
+	int rtc;
+};
+
+/**
   * struct x86_platform_ops - platform specific runtime functions
   * @calibrate_tsc:		calibrate TSC
   * @get_wallclock:		get time from HW clock like RTC etc.
@@ -152,6 +161,14 @@ struct timespec;
   * @save_sched_clock_state:	save state for sched_clock() on suspend
   * @restore_sched_clock_state:	restore state for sched_clock() on resume
   * @apic_post_init:		adjust apic if neeeded
+ * @legacy:			legacy features
+ * @set_legacy_features:	override legacy features. Use of this callback
+ * 				is highly discouraged. You should only need
+ * 				this if your hardware platform requires further
+ * 				custom fine tuning far beyong what may be
+ * 				possible in x86_early_init_platform_quirks() by
+ * 				only using the current x86_hardware_subarch
+ * 				semantics.
   */
  struct x86_platform_ops {
  	unsigned long (*calibrate_tsc)(void);
@@ -165,6 +182,8 @@ struct x86_platform_ops {
  	void (*save_sched_clock_state)(void);
  	void (*restore_sched_clock_state)(void);
  	void (*apic_post_init)(void);
+	struct x86_legacy_features legacy;


I don't think this belongs here --- we are in the ops structure.

-boris

> +	void (*set_legacy_features)(void);
>   };
>   
>   struct pci_dev;
> @@ -186,6 +205,8 @@ extern struct x86_cpuinit_ops x86_cpuinit;
>   extern struct x86_platform_ops x86_platform;
>   extern struct x86_msi_ops x86_msi;
>   extern struct x86_io_apic_ops x86_io_apic_ops;
> +
> +extern void x86_early_init_platform_quirks(void);
>   extern void x86_init_noop(void);
>   extern void x86_init_uint_noop(unsigned int unused);
>   
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ