Index: boot/arch/ia64/src/main.c
===================================================================
--- boot/arch/ia64/src/main.c	(revision 577fe9b66437c659dd86ce8cb1588daf58b9bae2)
+++ boot/arch/ia64/src/main.c	(revision 3cc070db9fceeeeeba80f0c0c915bea64038e7dc)
@@ -36,4 +36,5 @@
 #include <genarch/efi.h>
 #include <arch/sal.h>
+#include <arch/pal.h>
 #include <halt.h>
 #include <printf.h>
@@ -121,6 +122,5 @@
 {
 	if (bootpar) {
-		/* TODO: read the real value from PAL */
-		bootinfo.freq_scale = DEFAULT_FREQ_SCALE;
+		bootinfo.freq_scale = pal_proc_freq_ratio();
 	} else {
 		/* Configure default values for simulators. */
Index: boot/arch/ia64/src/pal.c
===================================================================
--- boot/arch/ia64/src/pal.c	(revision 3cc070db9fceeeeeba80f0c0c915bea64038e7dc)
+++ boot/arch/ia64/src/pal.c	(revision 3cc070db9fceeeeeba80f0c0c915bea64038e7dc)
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2011 Jakub Jermar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <arch/pal.h>
+#include <arch/types.h>
+
+uint64_t pal_proc = 0;
+
+uint64_t pal_proc_freq_ratio(void)
+{
+	uint64_t proc_ratio;
+	
+	pal_static_call_0_1(PAL_FREQ_RATIOS, &proc_ratio);
+	
+	return proc_ratio;
+}
Index: boot/arch/ia64/src/pal_asm.S
===================================================================
--- boot/arch/ia64/src/pal_asm.S	(revision 3cc070db9fceeeeeba80f0c0c915bea64038e7dc)
+++ boot/arch/ia64/src/pal_asm.S	(revision 3cc070db9fceeeeeba80f0c0c915bea64038e7dc)
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2011 Jakub Jermar
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+.explicit
+
+.global pal_static_call
+
+pal_static_call:
+	alloc loc0 = ar.pfs, 7, 5, 0, 0
+	
+	mov loc1 = gp
+	mov loc2 = rp
+	
+	addl loc3 = @gprel(pal_proc), gp
+	
+	mov r28 = in0
+	mov r29 = in1
+	mov r30 = in2
+	mov r31 = in3 ;;
+	
+	ld8 loc3 = [loc3]
+	movl loc4 = 0f ;;
+
+	mov b6 = loc3
+	mov rp = loc4 ;;
+	br.cond.sptk.many b6
+
+0:
+	cmp.ne p7,p0 = 0, in4
+	cmp.ne p8,p0 = 0, in5
+	cmp.ne p9,p0 = 0, in6 ;;
+	
+(p7)	st8 [in4] = r9
+(p8)	st8 [in5] = r10
+(p9)	st8 [in6] = r11
+	
+	mov gp = loc1
+	mov rp = loc2 ;;
+	
+	mov ar.pfs = loc0
+	br.ret.sptk.many rp
+
Index: boot/arch/ia64/src/sal.c
===================================================================
--- boot/arch/ia64/src/sal.c	(revision 577fe9b66437c659dd86ce8cb1588daf58b9bae2)
+++ boot/arch/ia64/src/sal.c	(revision 3cc070db9fceeeeeba80f0c0c915bea64038e7dc)
@@ -32,5 +32,5 @@
 static sal_ap_wakeup_desc_t *sal_ap_wakeup;
 
-uint64_t pal_proc = 0;
+extern uint64_t pal_proc;
 
 uint64_t sal_proc = 0;
