.. producing better code for x86-64.
As usual, written and tested on 2.6.24-rc7 and made apply to the 2.6.18
tree without further testing.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Index: head-2007-12-11/arch/i386/kernel/time-xen.c
===================================================================
--- head-2007-12-11.orig/arch/i386/kernel/time-xen.c 2007-12-18
15:28:14.000000000 +0100
+++ head-2007-12-11/arch/i386/kernel/time-xen.c 2007-12-18 13:39:39.000000000
+0100
@@ -301,7 +301,7 @@ static void update_wallclock(void)
* Reads a consistent set of time-base values from Xen, into a shadow data
* area.
*/
-static void get_time_values_from_xen(int cpu)
+static void get_time_values_from_xen(unsigned int cpu)
{
struct vcpu_time_info *src;
struct shadow_time_info *dst;
@@ -322,7 +322,7 @@ static void get_time_values_from_xen(int
dst->tsc_to_usec_mul = dst->tsc_to_nsec_mul / 1000;
}
-static inline int time_values_up_to_date(int cpu)
+static inline int time_values_up_to_date(unsigned int cpu)
{
struct vcpu_time_info *src;
struct shadow_time_info *dst;
@@ -513,7 +513,7 @@ static int set_rtc_mmss(unsigned long no
*/
unsigned long long monotonic_clock(void)
{
- int cpu = get_cpu();
+ unsigned int cpu = get_cpu();
struct shadow_time_info *shadow = &per_cpu(shadow_time, cpu);
u64 time;
u32 local_time_version;
@@ -579,7 +579,7 @@ irqreturn_t timer_interrupt(
{
s64 delta, delta_cpu, stolen, blocked;
u64 sched_time;
- int i, cpu = smp_processor_id();
+ unsigned int i, cpu = smp_processor_id();
struct shadow_time_info *shadow = &per_cpu(shadow_time, cpu);
struct vcpu_runstate_info *runstate = &per_cpu(runstate, cpu);
@@ -614,7 +614,7 @@ irqreturn_t timer_interrupt(int irq, voi
if ((unlikely(delta < -(s64)permitted_clock_jitter) ||
unlikely(delta_cpu < -(s64)permitted_clock_jitter))
&& printk_ratelimit()) {
- printk("Timer ISR/%d: Time went backwards: "
+ printk("Timer ISR/%u: Time went backwards: "
"delta=%lld delta_cpu=%lld shadow=%lld "
"off=%lld processed=%lld cpu_processed=%lld\n",
cpu, delta, delta_cpu, shadow->system_timestamp,
@@ -717,7 +717,7 @@ static struct clocksource clocksource_xe
return IRQ_HANDLED;
}
-static void init_missing_ticks_accounting(int cpu)
+static void init_missing_ticks_accounting(unsigned int cpu)
{
struct vcpu_register_runstate_memory_area area;
struct vcpu_runstate_info *runstate = &per_cpu(runstate, cpu);
@@ -965,7 +965,7 @@ int __cpuinit local_setup_timer(unsigned
init_missing_ticks_accounting(cpu);
} while (read_seqretry(&xtime_lock, seq));
- sprintf(timer_name[cpu], "timer%d", cpu);
+ sprintf(timer_name[cpu], "timer%u", cpu);
irq = bind_virq_to_irqhandler(VIRQ_TIMER,
cpu,
timer_interrupt,
Index: head-2007-12-11/arch/i386/mm/hypervisor.c
===================================================================
--- head-2007-12-11.orig/arch/i386/mm/hypervisor.c 2007-10-19
17:18:37.000000000 +0200
+++ head-2007-12-11/arch/i386/mm/hypervisor.c 2007-12-18 15:34:13.000000000
+0100
@@ -250,9 +250,9 @@ int xen_create_contiguous_region(
unsigned long vstart, unsigned int order, unsigned int address_bits)
{
unsigned long *in_frames = discontig_frames, out_frame;
- unsigned long frame, i, flags;
- long rc;
- int success;
+ unsigned long frame, flags;
+ unsigned int i;
+ int rc, success;
struct xen_memory_exchange exchange = {
.in = {
.nr_extents = 1UL << order,
@@ -286,7 +286,7 @@ int xen_create_contiguous_region(
balloon_lock(flags);
/* 1. Zap current PTEs, remembering MFNs. */
- for (i = 0; i < (1UL<<order); i++) {
+ for (i = 0; i < (1U<<order); i++) {
in_frames[i] = pfn_to_mfn((__pa(vstart) >> PAGE_SHIFT) + i);
MULTI_update_va_mapping(cr_mcl + i, vstart + (i*PAGE_SIZE),
__pte_ma(0), 0);
@@ -312,7 +312,7 @@ int xen_create_contiguous_region(
&exchange.out) == 1);
if (!success) {
/* Couldn't get special memory: fall back to normal. */
- for (i = 0; i < (1UL<<order); i++)
+ for (i = 0; i < (1U<<order); i++)
in_frames[i] = (__pa(vstart)>>PAGE_SHIFT) + i;
if (HYPERVISOR_memory_op(XENMEM_populate_physmap,
&exchange.in) != (1UL<<order))
@@ -322,7 +322,7 @@ int xen_create_contiguous_region(
#endif
/* 3. Map the new extent in place of old pages. */
- for (i = 0; i < (1UL<<order); i++) {
+ for (i = 0; i < (1U<<order); i++) {
frame = success ? (out_frame + i) : in_frames[i];
MULTI_update_va_mapping(cr_mcl + i, vstart + (i*PAGE_SIZE),
pfn_pte_ma(frame, PAGE_KERNEL), 0);
@@ -348,9 +348,9 @@ EXPORT_SYMBOL_GPL(xen_create_contiguous_
void xen_destroy_contiguous_region(unsigned long vstart, unsigned int order)
{
unsigned long *out_frames = discontig_frames, in_frame;
- unsigned long frame, i, flags;
- long rc;
- int success;
+ unsigned long frame, flags;
+ unsigned int i;
+ int rc, success;
struct xen_memory_exchange exchange = {
.in = {
.nr_extents = 1,
@@ -384,7 +384,7 @@ void xen_destroy_contiguous_region(unsig
in_frame = pfn_to_mfn(__pa(vstart) >> PAGE_SHIFT);
/* 2. Zap current PTEs. */
- for (i = 0; i < (1UL<<order); i++) {
+ for (i = 0; i < (1U<<order); i++) {
MULTI_update_va_mapping(cr_mcl + i, vstart + (i*PAGE_SIZE),
__pte_ma(0), 0);
set_phys_to_machine((__pa(vstart)>>PAGE_SHIFT)+i,
@@ -413,7 +413,7 @@ void xen_destroy_contiguous_region(unsig
#endif
/* 4. Map new pages in place of old pages. */
- for (i = 0; i < (1UL<<order); i++) {
+ for (i = 0; i < (1U<<order); i++) {
frame = success ? out_frames[i] : (in_frame + i);
MULTI_update_va_mapping(cr_mcl + i, vstart + (i*PAGE_SIZE),
pfn_pte_ma(frame, PAGE_KERNEL), 0);
@@ -436,7 +436,8 @@ int xen_limit_pages_to_max_mfn(
unsigned long *in_frames = discontig_frames, *out_frames =
limited_frames;
void *v;
struct page *page;
- int i, nr_mcl, rc, success;
+ unsigned int i, nr_mcl;
+ int rc, success;
struct xen_memory_exchange exchange = {
.in = {
@@ -481,7 +482,7 @@ int xen_limit_pages_to_max_mfn(
balloon_lock(flags);
/* 1. Zap current PTEs (if any), remembering MFNs. */
- for (i = 0, nr_mcl = 0; i < (1UL<<order); i++) {
+ for (i = 0, nr_mcl = 0; i < (1U<<order); i++) {
page = &pages[i];
out_frames[i] = page_to_pfn(page);
@@ -514,7 +515,7 @@ int xen_limit_pages_to_max_mfn(
#endif
/* 3. Map the new pages in place of old pages. */
- for (i = 0, nr_mcl = 0; i < (1UL<<order); i++) {
+ for (i = 0, nr_mcl = 0; i < (1U<<order); i++) {
unsigned long pfn;
page = &pages[i];
pfn = page_to_pfn(page);
Index: head-2007-12-11/include/asm-i386/mach-xen/asm/hypercall.h
===================================================================
--- head-2007-12-11.orig/include/asm-i386/mach-xen/asm/hypercall.h
2007-12-18 15:28:14.000000000 +0100
+++ head-2007-12-11/include/asm-i386/mach-xen/asm/hypercall.h 2007-12-11
11:45:14.000000000 +0100
@@ -343,7 +343,7 @@ HYPERVISOR_vm_assist(
static inline int
HYPERVISOR_vcpu_op(
- int cmd, int vcpuid, void *extra_args)
+ int cmd, unsigned int vcpuid, void *extra_args)
{
return _hypercall3(int, vcpu_op, cmd, vcpuid, extra_args);
}
Index: head-2007-12-11/include/asm-x86_64/mach-xen/asm/hypercall.h
===================================================================
--- head-2007-12-11.orig/include/asm-x86_64/mach-xen/asm/hypercall.h
2007-12-18 15:28:14.000000000 +0100
+++ head-2007-12-11/include/asm-x86_64/mach-xen/asm/hypercall.h 2007-12-11
11:45:14.000000000 +0100
@@ -337,7 +337,7 @@ HYPERVISOR_vm_assist(
static inline int
HYPERVISOR_vcpu_op(
- int cmd, int vcpuid, void *extra_args)
+ int cmd, unsigned int vcpuid, void *extra_args)
{
return _hypercall3(int, vcpu_op, cmd, vcpuid, extra_args);
}
Index: head-2007-12-11/drivers/xen/core/cpu_hotplug.c
===================================================================
--- head-2007-12-11.orig/drivers/xen/core/cpu_hotplug.c 2007-12-18
15:28:14.000000000 +0100
+++ head-2007-12-11/drivers/xen/core/cpu_hotplug.c 2007-12-18
15:14:20.000000000 +0100
@@ -32,7 +32,7 @@ static void vcpu_hotplug(unsigned int cp
if ((cpu >= NR_CPUS) || !cpu_possible(cpu))
return;
- sprintf(dir, "cpu/%d", cpu);
+ sprintf(dir, "cpu/%u", cpu);
err = xenbus_scanf(XBT_NIL, dir, "availability", "%s", state);
if (err != 1) {
printk(KERN_ERR "XENBUS: Unable to read cpu state\n");
@@ -54,12 +54,12 @@ static void vcpu_hotplug(unsigned int cp
static void handle_vcpu_hotplug_event(
struct xenbus_watch *watch, const char **vec, unsigned int len)
{
- int cpu;
+ unsigned int cpu;
char *cpustr;
const char *node = vec[XS_WATCH_PATH];
if ((cpustr = strstr(node, "cpu/")) != NULL) {
- sscanf(cpustr, "cpu/%d", &cpu);
+ sscanf(cpustr, "cpu/%u", &cpu);
vcpu_hotplug(cpu);
}
}
@@ -67,7 +67,7 @@ static void handle_vcpu_hotplug_event(
static int smpboot_cpu_notify(struct notifier_block *notifier,
unsigned long action, void *hcpu)
{
- int cpu = (long)hcpu;
+ unsigned int cpu = (long)hcpu;
/*
* We do this in a callback notifier rather than __cpu_disable()
@@ -83,7 +83,7 @@ static int smpboot_cpu_notify(struct not
static int setup_cpu_watcher(struct notifier_block *notifier,
unsigned long event, void *data)
{
- int i;
+ unsigned int i;
static struct xenbus_watch cpu_watch = {
.node = "cpu",
@@ -121,7 +121,8 @@ arch_initcall(setup_vcpu_hotplug_event);
int smp_suspend(void)
{
- int cpu, err;
+ unsigned int cpu;
+ int err;
for_each_online_cpu(cpu) {
if (cpu == 0)
@@ -141,7 +142,7 @@ int smp_suspend(void)
void smp_resume(void)
{
- int cpu;
+ unsigned int cpu;
for_each_possible_cpu(cpu)
vcpu_hotplug(cpu);
Index: head-2007-12-11/drivers/xen/core/evtchn.c
===================================================================
--- head-2007-12-11.orig/drivers/xen/core/evtchn.c 2007-12-18
15:28:14.000000000 +0100
+++ head-2007-12-11/drivers/xen/core/evtchn.c 2007-12-18 15:11:34.000000000
+0100
@@ -230,7 +230,8 @@ asmlinkage void evtchn_do_upcall(struct
unsigned long l1, l2;
unsigned long masked_l1, masked_l2;
unsigned int l1i, l2i, port, count;
- int irq, cpu = smp_processor_id();
+ int irq;
+ unsigned int cpu = smp_processor_id();
shared_info_t *s = HYPERVISOR_shared_info;
vcpu_info_t *vcpu_info = &s->vcpu_info[cpu];
@@ -466,7 +467,8 @@ static int bind_ipi_to_irq(unsigned int
static void unbind_from_irq(unsigned int irq)
{
struct evtchn_close close;
- int cpu, evtchn = evtchn_from_irq(irq);
+ unsigned int cpu;
+ int evtchn = evtchn_from_irq(irq);
spin_lock(&irq_mapping_update_lock);
@@ -927,7 +929,7 @@ void disable_all_local_evtchn(void)
synch_set_bit(i, &s->evtchn_mask[0]);
}
-static void restore_cpu_virqs(int cpu)
+static void restore_cpu_virqs(unsigned int cpu)
{
struct evtchn_bind_virq bind_virq;
int virq, irq, evtchn;
@@ -956,7 +958,7 @@ static void restore_cpu_virqs(int cpu)
}
}
-static void restore_cpu_ipis(int cpu)
+static void restore_cpu_ipis(unsigned int cpu)
{
struct evtchn_bind_ipi bind_ipi;
int ipi, irq, evtchn;
@@ -987,7 +989,7 @@ static void restore_cpu_ipis(int cpu)
void irq_resume(void)
{
- int cpu, pirq, irq, evtchn;
+ unsigned int cpu, pirq, irq, evtchn;
init_evtchn_cpu_bindings();
@@ -1014,7 +1016,7 @@ void irq_resume(void)
void __init xen_init_IRQ(void)
{
- int i;
+ unsigned int i;
init_evtchn_cpu_bindings();
Index: head-2007-12-11/drivers/xen/core/smpboot.c
===================================================================
--- head-2007-12-11.orig/drivers/xen/core/smpboot.c 2007-12-18
15:28:14.000000000 +0100
+++ head-2007-12-11/drivers/xen/core/smpboot.c 2007-12-18 12:10:12.000000000
+0100
@@ -88,7 +88,7 @@ void __init smp_alloc_memory(void)
}
static inline void
-set_cpu_sibling_map(int cpu)
+set_cpu_sibling_map(unsigned int cpu)
{
cpu_data[cpu].phys_proc_id = cpu;
cpu_data[cpu].cpu_core_id = 0;
@@ -100,7 +100,7 @@ set_cpu_sibling_map(int cpu)
}
static void
-remove_siblinginfo(int cpu)
+remove_siblinginfo(unsigned int cpu)
{
cpu_data[cpu].phys_proc_id = BAD_APICID;
cpu_data[cpu].cpu_core_id = BAD_APICID;
@@ -117,7 +117,7 @@ static int __cpuinit xen_smp_intr_init(u
per_cpu(resched_irq, cpu) = per_cpu(callfunc_irq, cpu) = -1;
- sprintf(resched_name[cpu], "resched%d", cpu);
+ sprintf(resched_name[cpu], "resched%u", cpu);
rc = bind_ipi_to_irqhandler(RESCHEDULE_VECTOR,
cpu,
smp_reschedule_interrupt,
@@ -128,7 +128,7 @@ static int __cpuinit xen_smp_intr_init(u
goto fail;
per_cpu(resched_irq, cpu) = rc;
- sprintf(callfunc_name[cpu], "callfunc%d", cpu);
+ sprintf(callfunc_name[cpu], "callfunc%u", cpu);
rc = bind_ipi_to_irqhandler(CALL_FUNCTION_VECTOR,
cpu,
smp_call_function_interrupt,
@@ -248,7 +248,7 @@ static void __cpuinit cpu_initialize_con
void __init smp_prepare_cpus(unsigned int max_cpus)
{
- int cpu;
+ unsigned int cpu;
struct task_struct *idle;
#ifdef __x86_64__
struct desc_ptr *gdt_descr;
@@ -369,7 +369,7 @@ core_initcall(initialize_cpu_present_map
int __cpu_disable(void)
{
cpumask_t map = cpu_online_map;
- int cpu = smp_processor_id();
+ unsigned int cpu = smp_processor_id();
if (cpu == 0)
return -EBUSY;
Index: head-2007-12-11/drivers/xen/xenoprof/xenoprofile.c
===================================================================
--- head-2007-12-11.orig/drivers/xen/xenoprof/xenoprofile.c 2007-12-18
15:28:14.000000000 +0100
+++ head-2007-12-11/drivers/xen/xenoprof/xenoprofile.c 2007-12-18
15:06:08.000000000 +0100
@@ -198,11 +198,9 @@ static irqreturn_t
xenoprof_ovf_interrupt(int irq, void * dev_id)
{
struct xenoprof_buf * buf;
- int cpu;
static unsigned long flag;
- cpu = smp_processor_id();
- buf = xenoprof_buf[cpu];
+ buf = xenoprof_buf[smp_processor_id()];
xenoprof_add_pc(buf, 0);
@@ -218,7 +216,7 @@ xenoprof_ovf_interrupt(int irq, void * d
static void unbind_virq(void)
{
- int i;
+ unsigned int i;
for_each_online_cpu(i) {
if (ovf_irq[i] >= 0) {
@@ -231,7 +229,8 @@ static void unbind_virq(void)
static int bind_virq(void)
{
- int i, result;
+ unsigned int i;
+ int result;
for_each_online_cpu(i) {
result = bind_virq_to_irqhandler(VIRQ_XENOPROF,
@@ -429,7 +428,7 @@ static int xenoprof_set_passive(int * p_
unsigned int pdoms)
{
int ret;
- int i, j;
+ unsigned int i, j;
struct xenoprof_buf *buf;
if (!xenoprof_is_primary)
@@ -503,7 +502,8 @@ static int using_xenoprof;
int __init xenoprofile_init(struct oprofile_operations * ops)
{
struct xenoprof_init init;
- int ret, i;
+ unsigned int i;
+ int ret;
ret = HYPERVISOR_xenoprof_op(XENOPROF_init, &init);
if (!ret) {
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|