WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

[XenPPC] [xenppc-unstable] [ppc] get more info about the machine for the

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [xenppc-unstable] [ppc] get more info about the machine for the xend
From: Xen patchbot-xenppc-unstable <patchbot-xenppc-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 14 Jun 2006 22:36:00 +0000
Delivery-date: Wed, 14 Jun 2006 15:46:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID ae59d00d1acd8d6c47f852018d2dd3907fd417ee
# Parent  1263c0f17bd09f1f3af00c94f1042aa1280fa6a1
[ppc] get more info about the machine for the xend

This patch:
  - Moves timbase_freq to time.c where it belongs
  - Gets the CPU clock frequency
  - Sets total_pages (= max_page right now)

Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
 xen/arch/ppc/boot_of.c   |   16 +++++++++++++++-
 xen/arch/ppc/mm.c        |    1 +
 xen/arch/ppc/setup.c     |    3 ++-
 xen/arch/ppc/time.c      |    2 ++
 xen/include/asm-ppc/mm.h |    1 +
 5 files changed, 21 insertions(+), 2 deletions(-)

diff -r 1263c0f17bd0 -r ae59d00d1acd xen/arch/ppc/boot_of.c
--- a/xen/arch/ppc/boot_of.c    Wed Jun 14 14:08:21 2006 -0400
+++ b/xen/arch/ppc/boot_of.c    Wed Jun 14 18:30:41 2006 -0400
@@ -24,6 +24,7 @@
 #include <xen/compile.h>
 #include <xen/spinlock.h>
 #include <xen/serial.h>
+#include <xen/time.h>
 #include <asm/page.h>
 #include <asm/io.h>
 #include "exceptions.h"
@@ -939,6 +940,7 @@ static int __init boot_of_cpus(void)
     int cpus;
     int cpu;
     int result;
+    u32 cpu_clock[2];
 
     cpus = of_finddevice("/cpus");
     cpu = of_getchild(cpus);
@@ -947,7 +949,19 @@ static int __init boot_of_cpus(void)
     if (result == OF_FAILURE) {
         of_panic("Couldn't get timebase frequency!\n");
     }
-    of_printf("OF: timebase-frequency = 0x%x\n", timebase_freq);
+    of_printf("OF: timebase-frequency = %d Hz\n", timebase_freq);
+
+    result = of_getprop(cpu, "clock-frequency", &cpu_clock, sizeof(cpu_clock));
+    if (result == OF_FAILURE || (result !=4 && result != 8)) {
+        of_panic("Couldn't get clock frequency!\n");
+    }
+    cpu_khz = cpu_clock[0];
+    if (result == 8) {
+        cpu_khz <<= 32;
+        cpu_khz |= cpu_clock[1];
+    }
+    cpu_khz /= 1000;
+    of_printf("OF: clock-frequency = %ld KHz\n", cpu_khz);
 
     /* FIXME: should not depend on the boot CPU bring the first child */
     cpu = of_getpeer(cpu);
diff -r 1263c0f17bd0 -r ae59d00d1acd xen/arch/ppc/mm.c
--- a/xen/arch/ppc/mm.c Wed Jun 14 14:08:21 2006 -0400
+++ b/xen/arch/ppc/mm.c Wed Jun 14 18:30:41 2006 -0400
@@ -29,6 +29,7 @@ struct page_info *frame_table;
 struct page_info *frame_table;
 unsigned long frame_table_size;
 unsigned long max_page;
+unsigned long total_pages;
 
 int create_grant_host_mapping(
     unsigned long addr, unsigned long frame, unsigned int flags)
diff -r 1263c0f17bd0 -r ae59d00d1acd xen/arch/ppc/setup.c
--- a/xen/arch/ppc/setup.c      Wed Jun 14 14:08:21 2006 -0400
+++ b/xen/arch/ppc/setup.c      Wed Jun 14 18:30:41 2006 -0400
@@ -54,7 +54,6 @@ u32 tlbflush_time[NR_CPUS];
 
 unsigned int watchdog_on;
 unsigned long wait_init_idle;
-unsigned int timebase_freq;
 ulong oftree;
 ulong oftree_len;
 
@@ -223,6 +222,8 @@ static void __init __start_xen(multiboot
     printk("System RAM: %luMB (%lukB)\n", eomem >> 20, eomem >> 10);
 
     max_page = PFN_DOWN(ALIGN_DOWN(eomem, PAGE_SIZE));
+    total_pages = max_page;
+
     /* skip the exception handlers */
     heap_start = init_boot_allocator(4 << PAGE_SHIFT);
 
diff -r 1263c0f17bd0 -r ae59d00d1acd xen/arch/ppc/time.c
--- a/xen/arch/ppc/time.c       Wed Jun 14 14:08:21 2006 -0400
+++ b/xen/arch/ppc/time.c       Wed Jun 14 18:30:41 2006 -0400
@@ -29,6 +29,8 @@
 
 static int cpu_has_hdec = 1;
 ulong ticks_per_usec;
+unsigned long cpu_khz;
+unsigned int timebase_freq;
 
 u64 get_timebase(void)
 {
diff -r 1263c0f17bd0 -r ae59d00d1acd xen/include/asm-ppc/mm.h
--- a/xen/include/asm-ppc/mm.h  Wed Jun 14 14:08:21 2006 -0400
+++ b/xen/include/asm-ppc/mm.h  Wed Jun 14 18:30:41 2006 -0400
@@ -184,6 +184,7 @@ extern struct page_info *frame_table;
 extern struct page_info *frame_table;
 extern unsigned long frame_table_size;
 extern unsigned long max_page;
+extern unsigned long total_pages;
 void init_frametable(void);
 
 /* hope that accesses to this will fail spectacularly */

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [XenPPC] [xenppc-unstable] [ppc] get more info about the machine for the xend, Xen patchbot-xenppc-unstable <=