From 735cf19fdebf4a3df886426a51cad78b7ef025f2 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Wed, 9 Dec 2009 02:59:26 +0100 Subject: Change types holding cpu flags from int to long On amd64 the cpu flags is a 64-bit word, and long on 32-bit systems is 32-bit wide anyway. * linux/dev/glue/kmem.c (linux_kmalloc, linux_kfree, __get_free_pages, free_pages): Use unsigned long instead of unsigned. * linux/dev/include/asm-i386/system.h (__save_flags, __restore_flags): Likewise. * linux/dev/kernel/printk.c (printk): Likewise. * linux/src/drivers/scsi/advansys.c (DvcEnterCritical, DvcLeaveCritical, advansys_queuecommand, advansys_abort, advansys_reset, advansys_interrupt, interrupts_enabled, AdvISR): Likewise. * linux/src/drivers/scsi/aha152x.c (aha152x_intr): Likewise. * linux/src/drivers/scsi/aha1542.c (aha1542_intr_handle): Likewise. * linux/src/drivers/scsi/aic7xxx.c (aic7xxx_done_cmds_complete): Likewise. * linux/src/drivers/scsi/ultrastor.c (log_ultrastor_abort, ultrastor_queuecommand, ultrastor_abort): Likewise. --- linux/dev/glue/kmem.c | 10 ++++++---- linux/dev/include/asm-i386/system.h | 4 ++-- linux/dev/kernel/printk.c | 3 ++- linux/src/drivers/scsi/advansys.c | 26 +++++++++++++------------- linux/src/drivers/scsi/aha152x.c | 2 +- linux/src/drivers/scsi/aha1542.c | 2 +- linux/src/drivers/scsi/aic7xxx.c | 2 +- linux/src/drivers/scsi/ultrastor.c | 12 ++++++------ 8 files changed, 32 insertions(+), 29 deletions(-) diff --git a/linux/dev/glue/kmem.c b/linux/dev/glue/kmem.c index c7fb1988..28321711 100644 --- a/linux/dev/glue/kmem.c +++ b/linux/dev/glue/kmem.c @@ -218,7 +218,7 @@ void * linux_kmalloc (unsigned int size, int priority) { int order, coalesced = 0; - unsigned flags; + unsigned long flags; struct pagehdr *ph; struct blkhdr *bh, *new_bh; @@ -310,7 +310,7 @@ again: void linux_kfree (void *p) { - unsigned flags; + unsigned long flags; struct blkhdr *bh; struct pagehdr *ph; @@ -385,7 +385,8 @@ unsigned long __get_free_pages (int priority, unsigned long order, int dma) { int i, pages_collected = 0; - unsigned flags, bits, off, j, len; + unsigned bits, off, j, len; + unsigned long flags; assert ((PAGE_SIZE << order) <= MEM_CHUNK_SIZE); @@ -444,7 +445,8 @@ void free_pages (unsigned long addr, unsigned long order) { int i; - unsigned flags, bits, len, j; + unsigned bits, len, j; + unsigned long flags; assert ((addr & PAGE_MASK) == 0); diff --git a/linux/dev/include/asm-i386/system.h b/linux/dev/include/asm-i386/system.h index 3e17d2d1..f26a33e7 100644 --- a/linux/dev/include/asm-i386/system.h +++ b/linux/dev/include/asm-i386/system.h @@ -224,9 +224,9 @@ static inline unsigned long __xchg(unsigned long x, void * ptr, int size) #define __sti() __asm__ __volatile__ ("sti": : :"memory") #define __cli() __asm__ __volatile__ ("cli": : :"memory") #define __save_flags(x) \ -__asm__ __volatile__("pushfl ; popl %0":"=g" (x): /* no input */ :"memory") +__asm__ __volatile__("pushf ; pop %0" : "=r" (x): /* no input */ :"memory") #define __restore_flags(x) \ -__asm__ __volatile__("pushl %0 ; popfl": /* no output */ :"g" (x):"memory") +__asm__ __volatile__("push %0 ; popf": /* no output */ :"g" (x):"memory") #ifdef __SMP__ diff --git a/linux/dev/kernel/printk.c b/linux/dev/kernel/printk.c index 8bed0d2a..7c65d303 100644 --- a/linux/dev/kernel/printk.c +++ b/linux/dev/kernel/printk.c @@ -41,7 +41,8 @@ int printk (char *fmt, ...) { va_list args; - int n, flags; + int n; + unsigned long flags; char *p, *msg, *buf_end; static int msg_level = -1; diff --git a/linux/src/drivers/scsi/advansys.c b/linux/src/drivers/scsi/advansys.c index b7bfcc1b..ef61fac9 100644 --- a/linux/src/drivers/scsi/advansys.c +++ b/linux/src/drivers/scsi/advansys.c @@ -2033,8 +2033,8 @@ STATIC void AscSetISAPNPWaitForKey(void); STATIC uchar AscGetChipIRQ(PortAddr, ushort); STATIC uchar AscSetChipIRQ(PortAddr, uchar, ushort); STATIC ushort AscGetChipBiosAddress(PortAddr, ushort); -STATIC int DvcEnterCritical(void); -STATIC void DvcLeaveCritical(int); +STATIC long DvcEnterCritical(void); +STATIC void DvcLeaveCritical(long); STATIC void DvcInPortWords(PortAddr, ushort *, int); STATIC void DvcOutPortWords(PortAddr, ushort *, int); STATIC void DvcOutPortDWords(PortAddr, ulong *, int); @@ -2870,8 +2870,8 @@ typedef struct adv_scsi_req_q { /* * Device drivers must define the following functions. */ -STATIC int DvcEnterCritical(void); -STATIC void DvcLeaveCritical(int); +STATIC long DvcEnterCritical(void); +STATIC void DvcLeaveCritical(long); STATIC void DvcSleepMilliSecond(ulong); STATIC uchar DvcAdvReadPCIConfigByte(ADV_DVC_VAR *, ushort); STATIC void DvcAdvWritePCIConfigByte(ADV_DVC_VAR *, ushort, uchar); @@ -5400,7 +5400,7 @@ advansys_queuecommand(Scsi_Cmnd *scp, void (*done)(Scsi_Cmnd *)) { struct Scsi_Host *shp; asc_board_t *boardp; - int flags; + long flags; Scsi_Cmnd *done_scp; shp = scp->host; @@ -5495,7 +5495,7 @@ advansys_abort(Scsi_Cmnd *scp) asc_board_t *boardp; ASC_DVC_VAR *asc_dvc_varp; ADV_DVC_VAR *adv_dvc_varp; - int flags; + long flags; int do_scsi_done; int scp_found; Scsi_Cmnd *done_scp = NULL; @@ -5734,7 +5734,7 @@ advansys_reset(Scsi_Cmnd *scp, unsigned int reset_flags) asc_board_t *boardp; ASC_DVC_VAR *asc_dvc_varp; ADV_DVC_VAR *adv_dvc_varp; - int flags; + long flags; Scsi_Cmnd *done_scp = NULL, *last_scp = NULL; Scsi_Cmnd *tscp, *new_last_scp; int do_scsi_done; @@ -6269,7 +6269,7 @@ advansys_interrupt(int irq, void *dev_id, struct pt_regs *regs) #endif /* version >= v1.3.70 */ { #if LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,1,95) - int flags; + long flags; #else /* version >= v2.1.95 */ unsigned long flags; #endif /* version >= v2.1.95 */ @@ -9227,10 +9227,10 @@ DvcSleepMilliSecond(ulong n) } } -STATIC int +STATIC long DvcEnterCritical(void) { - int flags; + long flags; save_flags(flags); cli(); @@ -9238,7 +9238,7 @@ DvcEnterCritical(void) } STATIC void -DvcLeaveCritical(int flags) +DvcLeaveCritical(long flags) { restore_flags(flags); } @@ -10198,7 +10198,7 @@ asc_prt_hex(char *f, uchar *s, int l) STATIC int interrupts_enabled(void) { - int flags; + long flags; save_flags(flags); if (flags & 0x0200) { @@ -15078,7 +15078,7 @@ AdvISR(ADV_DVC_VAR *asc_dvc) uchar int_stat; ushort next_done_loc, target_bit; int completed_q; - int flags; + long flags; ADV_SCSI_REQ_Q *scsiq; ASC_REQ_SENSE *sense_data; int ret; diff --git a/linux/src/drivers/scsi/aha152x.c b/linux/src/drivers/scsi/aha152x.c index a5724bf8..44fe1b0c 100644 --- a/linux/src/drivers/scsi/aha152x.c +++ b/linux/src/drivers/scsi/aha152x.c @@ -1539,7 +1539,7 @@ void aha152x_done(struct Scsi_Host *shpnt, int error) void aha152x_intr(int irqno, void *dev_id, struct pt_regs * regs) { struct Scsi_Host *shpnt = aha152x_host[irqno-IRQ_MIN]; - unsigned int flags; + unsigned long flags; int done=0, phase; #if defined(DEBUG_RACE) diff --git a/linux/src/drivers/scsi/aha1542.c b/linux/src/drivers/scsi/aha1542.c index 113b499c..cc27e5c0 100644 --- a/linux/src/drivers/scsi/aha1542.c +++ b/linux/src/drivers/scsi/aha1542.c @@ -356,7 +356,7 @@ static void aha1542_intr_handle(int irq, void *dev_id, struct pt_regs *regs) void (*my_done)(Scsi_Cmnd *) = NULL; int errstatus, mbi, mbo, mbistatus; int number_serviced; - unsigned int flags; + unsigned long flags; struct Scsi_Host * shost; Scsi_Cmnd * SCtmp; int flag; diff --git a/linux/src/drivers/scsi/aic7xxx.c b/linux/src/drivers/scsi/aic7xxx.c index be817bb7..93bed411 100644 --- a/linux/src/drivers/scsi/aic7xxx.c +++ b/linux/src/drivers/scsi/aic7xxx.c @@ -2800,7 +2800,7 @@ aic7xxx_done_cmds_complete(struct aic7xxx_host *p) { Scsi_Cmnd *cmd; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,95) - unsigned int cpu_flags = 0; + unsigned long cpu_flags = 0; #endif DRIVER_LOCK diff --git a/linux/src/drivers/scsi/ultrastor.c b/linux/src/drivers/scsi/ultrastor.c index a1a1982d..de824726 100644 --- a/linux/src/drivers/scsi/ultrastor.c +++ b/linux/src/drivers/scsi/ultrastor.c @@ -333,7 +333,7 @@ static void log_ultrastor_abort(register struct ultrastor_config *config, { static char fmt[80] = "abort %d (%x); MSCP free pool: %x;"; register int i; - int flags; + unsigned long flags; save_flags(flags); cli(); @@ -681,7 +681,7 @@ int ultrastor_queuecommand(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) int mscp_index; #endif unsigned int status; - int flags; + unsigned long flags; /* Next test is for debugging; "can't happen" */ if ((config.mscp_free & ((1U << ULTRASTOR_MAX_CMDS) - 1)) == 0) @@ -853,7 +853,7 @@ int ultrastor_abort(Scsi_Cmnd *SCpnt) { int port0 = (config.slot << 12) | 0xc80; int i; - int flags; + unsigned long flags; save_flags(flags); cli(); strcpy(out, "OGM %d:%x ICM %d:%x ports: "); @@ -879,7 +879,7 @@ int ultrastor_abort(Scsi_Cmnd *SCpnt) if (config.slot ? inb(config.icm_address - 1) == 2 : (inb(SYS_DOORBELL_INTR(config.doorbell_address)) & 1)) { - int flags; + unsigned long flags; save_flags(flags); printk("Ux4F: abort while completed command pending\n"); restore_flags(flags); @@ -901,7 +901,7 @@ int ultrastor_abort(Scsi_Cmnd *SCpnt) and the interrupt handler will call done. */ if (config.slot && inb(config.ogm_address - 1) == 0) { - int flags; + unsigned long flags; save_flags(flags); cli(); @@ -953,7 +953,7 @@ int ultrastor_abort(Scsi_Cmnd *SCpnt) int ultrastor_reset(Scsi_Cmnd * SCpnt, unsigned int reset_flags) { - int flags; + unsigned long flags; register int i; #if (ULTRASTOR_DEBUG & UD_RESET) printk("US14F: reset: called\n"); -- cgit v1.2.3