diff options
Diffstat (limited to 'arch/m32r/kernel')
-rw-r--r-- | arch/m32r/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/m32r/kernel/time.c | 6 | ||||
-rw-r--r-- | arch/m32r/kernel/vmlinux.lds.S | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c index 8a88f1f0a3e2..31cef20b2996 100644 --- a/arch/m32r/kernel/smp.c +++ b/arch/m32r/kernel/smp.c | |||
@@ -806,7 +806,7 @@ unsigned long send_IPI_mask_phys(cpumask_t physid_mask, int ipi_num, | |||
806 | 806 | ||
807 | if (mask & ~physids_coerce(phys_cpu_present_map)) | 807 | if (mask & ~physids_coerce(phys_cpu_present_map)) |
808 | BUG(); | 808 | BUG(); |
809 | if (ipi_num >= NR_IPIS) | 809 | if (ipi_num >= NR_IPIS || ipi_num < 0) |
810 | BUG(); | 810 | BUG(); |
811 | 811 | ||
812 | mask <<= IPI_SHIFT; | 812 | mask <<= IPI_SHIFT; |
diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c index e7fee0f198d5..9cedcef11575 100644 --- a/arch/m32r/kernel/time.c +++ b/arch/m32r/kernel/time.c | |||
@@ -75,7 +75,7 @@ u32 arch_gettimeoffset(void) | |||
75 | count = 0; | 75 | count = 0; |
76 | 76 | ||
77 | count = (latch - count) * TICK_SIZE; | 77 | count = (latch - count) * TICK_SIZE; |
78 | elapsed_time = (count + latch / 2) / latch; | 78 | elapsed_time = DIV_ROUND_CLOSEST(count, latch); |
79 | /* NOTE: LATCH is equal to the "interval" value (= reload count). */ | 79 | /* NOTE: LATCH is equal to the "interval" value (= reload count). */ |
80 | 80 | ||
81 | #else /* CONFIG_SMP */ | 81 | #else /* CONFIG_SMP */ |
@@ -93,7 +93,7 @@ u32 arch_gettimeoffset(void) | |||
93 | p_count = count; | 93 | p_count = count; |
94 | 94 | ||
95 | count = (latch - count) * TICK_SIZE; | 95 | count = (latch - count) * TICK_SIZE; |
96 | elapsed_time = (count + latch / 2) / latch; | 96 | elapsed_time = DIV_ROUND_CLOSEST(count, latch); |
97 | /* NOTE: LATCH is equal to the "interval" value (= reload count). */ | 97 | /* NOTE: LATCH is equal to the "interval" value (= reload count). */ |
98 | #endif /* CONFIG_SMP */ | 98 | #endif /* CONFIG_SMP */ |
99 | #elif defined(CONFIG_CHIP_M32310) | 99 | #elif defined(CONFIG_CHIP_M32310) |
@@ -211,7 +211,7 @@ void __init time_init(void) | |||
211 | 211 | ||
212 | bus_clock = boot_cpu_data.bus_clock; | 212 | bus_clock = boot_cpu_data.bus_clock; |
213 | divide = boot_cpu_data.timer_divide; | 213 | divide = boot_cpu_data.timer_divide; |
214 | latch = (bus_clock/divide + HZ / 2) / HZ; | 214 | latch = DIV_ROUND_CLOSEST(bus_clock/divide, HZ); |
215 | 215 | ||
216 | printk("Timer start : latch = %ld\n", latch); | 216 | printk("Timer start : latch = %ld\n", latch); |
217 | 217 | ||
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S index 8ceb6181d805..7da94eaa082b 100644 --- a/arch/m32r/kernel/vmlinux.lds.S +++ b/arch/m32r/kernel/vmlinux.lds.S | |||
@@ -42,6 +42,8 @@ SECTIONS | |||
42 | _etext = .; /* End of text section */ | 42 | _etext = .; /* End of text section */ |
43 | 43 | ||
44 | EXCEPTION_TABLE(16) | 44 | EXCEPTION_TABLE(16) |
45 | NOTES | ||
46 | |||
45 | RODATA | 47 | RODATA |
46 | RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE) | 48 | RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE) |
47 | _edata = .; /* End of data section */ | 49 | _edata = .; /* End of data section */ |