From: Matt Wilson <msw@amazon.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Keir Fraser <keir@xen.org>, Matt Wilson <msw@amazon.com>,
Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 2/2] x86/time: remove Cyclone as a platform timer
Date: Mon, 26 Aug 2013 04:34:37 +0000 [thread overview]
Message-ID: <1377491677-8604-3-git-send-email-msw@amazon.com> (raw)
In-Reply-To: <1377491677-8604-1-git-send-email-msw@amazon.com>
The Cyclone time source was part of IBM's Summit chipset, which was
only used for 32-bit only ccNUMA and IA-64 machines. Neither of these
are supported by Xen anymore.
Signed-off-by: Matt Wilson <msw@amazon.com>
Cc: Keir Fraser <keir@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
---
docs/misc/xen-command-line.markdown | 2 +-
xen/arch/x86/time.c | 71 +---------------------------------
xen/include/asm-x86/fixmap.h | 1 -
3 files changed, 4 insertions(+), 70 deletions(-)
diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 428e097..13c0306 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -194,7 +194,7 @@ and reboots.
If set, override Xen's calculation of the level 2 cache line size.
### clocksource
-> `= pit | hpet | cyclone | acpi`
+> `= pit | hpet | acpi`
If set, override Xen's default choice for the platform timer.
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index c31029c..c1bbd50 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -39,7 +39,7 @@
#include <asm/setup.h> /* for early_time_init */
#include <public/arch-x86/cpuid.h>
-/* opt_clocksource: Force clocksource to one of: pit, hpet, cyclone, acpi. */
+/* opt_clocksource: Force clocksource to one of: pit, hpet, acpi. */
static char __initdata opt_clocksource[10];
string_param("clocksource", opt_clocksource);
@@ -378,72 +378,7 @@ static struct platform_timesource __initdata plt_hpet =
};
/************************************************************
- * PLATFORM TIMER 3: IBM 'CYCLONE' TIMER
- */
-
-bool_t __initdata use_cyclone;
-
-/*
- * Although the counter is read via a 64-bit register, I believe it is actually
- * a 40-bit counter. Since this will wrap, I read only the low 32 bits and
- * periodically fold into a 64-bit software counter, just as for PIT and HPET.
- */
-#define CYCLONE_CBAR_ADDR 0xFEB00CD0
-#define CYCLONE_PMCC_OFFSET 0x51A0
-#define CYCLONE_MPMC_OFFSET 0x51D0
-#define CYCLONE_MPCS_OFFSET 0x51A8
-#define CYCLONE_TIMER_FREQ 100000000
-
-/* Cyclone MPMC0 register. */
-static volatile u32 *__read_mostly cyclone_timer;
-
-static u64 read_cyclone_count(void)
-{
- return *cyclone_timer;
-}
-
-static volatile u32 *__init map_cyclone_reg(unsigned long regaddr)
-{
- unsigned long pageaddr = regaddr & PAGE_MASK;
- unsigned long offset = regaddr & ~PAGE_MASK;
- set_fixmap_nocache(FIX_CYCLONE_TIMER, pageaddr);
- return (volatile u32 *)(fix_to_virt(FIX_CYCLONE_TIMER) + offset);
-}
-
-static int __init init_cyclone(struct platform_timesource *pts)
-{
- u32 base;
-
- if ( !use_cyclone )
- return 0;
-
- /* Find base address. */
- base = *(map_cyclone_reg(CYCLONE_CBAR_ADDR));
- if ( base == 0 )
- {
- printk(KERN_ERR "Cyclone: Could not find valid CBAR value.\n");
- return 0;
- }
-
- /* Enable timer and map the counter register. */
- *(map_cyclone_reg(base + CYCLONE_PMCC_OFFSET)) = 1;
- *(map_cyclone_reg(base + CYCLONE_MPCS_OFFSET)) = 1;
- cyclone_timer = map_cyclone_reg(base + CYCLONE_MPMC_OFFSET);
- return 1;
-}
-
-static struct platform_timesource __initdata plt_cyclone =
-{
- .id = "cyclone",
- .name = "IBM Cyclone",
- .frequency = CYCLONE_TIMER_FREQ,
- .read_counter = read_cyclone_count,
- .counter_bits = 32,
- .init = init_cyclone
-};
-
-/************************************************************
- * PLATFORM TIMER 4: ACPI PM TIMER
+ * PLATFORM TIMER 3: ACPI PM TIMER
*/
u32 __read_mostly pmtmr_ioport;
@@ -600,7 +535,7 @@ static void resume_platform_timer(void)
static void __init init_platform_timer(void)
{
static struct platform_timesource * __initdata plt_timers[] = {
- &plt_cyclone, &plt_hpet, &plt_pmtimer, &plt_pit
+ &plt_hpet, &plt_pmtimer, &plt_pit
};
struct platform_timesource *pts = NULL;
diff --git a/xen/include/asm-x86/fixmap.h b/xen/include/asm-x86/fixmap.h
index 029dc3e..d850be4 100644
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -56,7 +56,6 @@ enum fixed_addresses {
FIX_ACPI_BEGIN,
FIX_ACPI_END = FIX_ACPI_BEGIN + FIX_ACPI_PAGES - 1,
FIX_HPET_BASE,
- FIX_CYCLONE_TIMER,
FIX_KEXEC_BASE_0,
FIX_KEXEC_BASE_END = FIX_KEXEC_BASE_0 \
+ ((KEXEC_XEN_NO_PAGES >> 1) * KEXEC_IMAGE_NR) - 1,
--
1.7.4.5
next prev parent reply other threads:[~2013-08-26 4:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-26 4:34 [PATCH 0/2] x86: remove Summit and Cyclone support Matt Wilson
2013-08-26 4:34 ` [PATCH 1/2] x86/apic: remove Summit support Matt Wilson
2013-08-26 4:34 ` Matt Wilson [this message]
2013-08-26 11:31 ` [PATCH 0/2] x86: remove Summit and Cyclone support Jan Beulich
2013-08-26 15:29 ` Matt Wilson
2013-08-26 15:34 ` Jan Beulich
2013-08-26 22:04 ` Andrew Cooper
2013-08-26 22:28 ` Matt Wilson
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=1377491677-8604-3-git-send-email-msw@amazon.com \
--to=msw@amazon.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=xen-devel@lists.xenproject.org \
/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.