From 08653b16db42a76bc13abae66d34c0fc85f9a99c Mon Sep 17 00:00:00 2001 From: Leon Woestenberg Date: Sat, 16 Feb 2008 14:33:38 +0000 Subject: linux-(rt-)2.6.24: Fix clock resolution to nanosecond. --- packages/linux/linux-2.6.24/powerpc-clockres.patch | 47 ++++++++++++++++++++++ .../linux/linux-rt-2.6.24/powerpc-clockres.patch | 47 ++++++++++++++++++++++ packages/linux/linux-rt_2.6.24.bb | 3 +- packages/linux/linux_2.6.24.bb | 7 ++-- 4 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 packages/linux/linux-2.6.24/powerpc-clockres.patch create mode 100644 packages/linux/linux-rt-2.6.24/powerpc-clockres.patch (limited to 'packages/linux') diff --git a/packages/linux/linux-2.6.24/powerpc-clockres.patch b/packages/linux/linux-2.6.24/powerpc-clockres.patch new file mode 100644 index 0000000000..a0cf05b44e --- /dev/null +++ b/packages/linux/linux-2.6.24/powerpc-clockres.patch @@ -0,0 +1,47 @@ +Index: linux-2.6.24/arch/powerpc/kernel/asm-offsets.c +=================================================================== +--- linux-2.6.24.orig/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:09.000000000 +0100 ++++ linux-2.6.24/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:30.000000000 +0100 +@@ -312,7 +312,7 @@ + DEFINE(CLOCK_REALTIME, CLOCK_REALTIME); + DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC); + DEFINE(NSEC_PER_SEC, NSEC_PER_SEC); +- DEFINE(CLOCK_REALTIME_RES, TICK_NSEC); ++ DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC); + + #ifdef CONFIG_BUG + DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry)); +Index: linux-2.6.24/include/linux/hrtimer.h +=================================================================== +--- linux-2.6.24.orig/include/linux/hrtimer.h 2008-02-16 13:54:09.000000000 +0100 ++++ linux-2.6.24/include/linux/hrtimer.h 2008-02-16 13:54:33.000000000 +0100 +@@ -223,11 +223,13 @@ + * idea of the (in)accuracy of timers. Timer values are rounded up to + * this resolution values. + */ +-# define KTIME_HIGH_RES (ktime_t) { .tv64 = 1 } ++# define HIGH_RES_NSEC 1 ++# define KTIME_HIGH_RES (ktime_t) { .tv64 = HIGH_RES_NSEC } ++# define MONOTONIC_RES_NSEC HIGH_RES_NSEC + # define KTIME_MONOTONIC_RES KTIME_HIGH_RES + + #else +- ++# define MONOTONIC_RES_NSEC LOW_RES_NSEC + # define KTIME_MONOTONIC_RES KTIME_LOW_RES + + /* +Index: linux-2.6.24/include/linux/ktime.h +=================================================================== +--- linux-2.6.24.orig/include/linux/ktime.h 2008-02-16 13:54:09.000000000 +0100 ++++ linux-2.6.24/include/linux/ktime.h 2008-02-16 13:54:36.000000000 +0100 +@@ -316,7 +316,8 @@ + * idea of the (in)accuracy of timers. Timer values are rounded up to + * this resolution values. + */ +-#define KTIME_LOW_RES (ktime_t){ .tv64 = TICK_NSEC } ++#define LOW_RES_NSEC TICK_NSEC ++#define KTIME_LOW_RES (ktime_t){ .tv64 = LOW_RES_NSEC } + + /* Get the monotonic time in timespec format: */ + extern void ktime_get_ts(struct timespec *ts); diff --git a/packages/linux/linux-rt-2.6.24/powerpc-clockres.patch b/packages/linux/linux-rt-2.6.24/powerpc-clockres.patch new file mode 100644 index 0000000000..a0cf05b44e --- /dev/null +++ b/packages/linux/linux-rt-2.6.24/powerpc-clockres.patch @@ -0,0 +1,47 @@ +Index: linux-2.6.24/arch/powerpc/kernel/asm-offsets.c +=================================================================== +--- linux-2.6.24.orig/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:09.000000000 +0100 ++++ linux-2.6.24/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:30.000000000 +0100 +@@ -312,7 +312,7 @@ + DEFINE(CLOCK_REALTIME, CLOCK_REALTIME); + DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC); + DEFINE(NSEC_PER_SEC, NSEC_PER_SEC); +- DEFINE(CLOCK_REALTIME_RES, TICK_NSEC); ++ DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC); + + #ifdef CONFIG_BUG + DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry)); +Index: linux-2.6.24/include/linux/hrtimer.h +=================================================================== +--- linux-2.6.24.orig/include/linux/hrtimer.h 2008-02-16 13:54:09.000000000 +0100 ++++ linux-2.6.24/include/linux/hrtimer.h 2008-02-16 13:54:33.000000000 +0100 +@@ -223,11 +223,13 @@ + * idea of the (in)accuracy of timers. Timer values are rounded up to + * this resolution values. + */ +-# define KTIME_HIGH_RES (ktime_t) { .tv64 = 1 } ++# define HIGH_RES_NSEC 1 ++# define KTIME_HIGH_RES (ktime_t) { .tv64 = HIGH_RES_NSEC } ++# define MONOTONIC_RES_NSEC HIGH_RES_NSEC + # define KTIME_MONOTONIC_RES KTIME_HIGH_RES + + #else +- ++# define MONOTONIC_RES_NSEC LOW_RES_NSEC + # define KTIME_MONOTONIC_RES KTIME_LOW_RES + + /* +Index: linux-2.6.24/include/linux/ktime.h +=================================================================== +--- linux-2.6.24.orig/include/linux/ktime.h 2008-02-16 13:54:09.000000000 +0100 ++++ linux-2.6.24/include/linux/ktime.h 2008-02-16 13:54:36.000000000 +0100 +@@ -316,7 +316,8 @@ + * idea of the (in)accuracy of timers. Timer values are rounded up to + * this resolution values. + */ +-#define KTIME_LOW_RES (ktime_t){ .tv64 = TICK_NSEC } ++#define LOW_RES_NSEC TICK_NSEC ++#define KTIME_LOW_RES (ktime_t){ .tv64 = LOW_RES_NSEC } + + /* Get the monotonic time in timespec format: */ + extern void ktime_get_ts(struct timespec *ts); diff --git a/packages/linux/linux-rt_2.6.24.bb b/packages/linux/linux-rt_2.6.24.bb index 9869757391..b9f374099e 100644 --- a/packages/linux/linux-rt_2.6.24.bb +++ b/packages/linux/linux-rt_2.6.24.bb @@ -6,11 +6,12 @@ DEFAULT_PREFERENCE_mpc8313e-rdb = "1" DEPENDS_append_mpc8313e-rdb = " dtc-native" -PR = "r1" +PR = "r2" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \ ${KERNELORG_MIRROR}/pub/linux/kernel/projects/rt/patch-2.6.24-rt1.bz2;patch=1 \ http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \ + file://powerpc-clockres.patch;patch=1 \ file://defconfig" S = "${WORKDIR}/linux-2.6.24" diff --git a/packages/linux/linux_2.6.24.bb b/packages/linux/linux_2.6.24.bb index 18ba900fce..afb45159c4 100644 --- a/packages/linux/linux_2.6.24.bb +++ b/packages/linux/linux_2.6.24.bb @@ -7,11 +7,12 @@ DEFAULT_PREFERENCE_mpc8313e-rdb = "1" DEPENDS_append_mpc8313e-rdb = " dtc-native" -PR = "r3" +PR = "r5" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \ - file://defconfig \ - " + http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \ + file://powerpc-clockres.patch;patch=1 \ + file://defconfig" # Real-time preemption. This is experimental and requires a different defconfig. #SRC_URI += " http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.24-rt1.bz2;patch=1" -- cgit v1.2.3