Skip to content

Commit

Permalink
[IA64] Convert ia64 to use int-ll64.h
Browse files Browse the repository at this point in the history
It is generally agreed that it would be beneficial for u64 to be an
unsigned long long on all architectures.  ia64 (in common with several
other 64-bit architectures) currently uses unsigned long.  Migrating
piecemeal is too painful; this giant patch fixes all compilation warnings
and errors that come as a result of switching to use int-ll64.h.

Note that userspace will still see __u64 defined as unsigned long.  This
is important as it affects C++ name mangling.

[Updated by Tony Luck to change efi.h:efi_freemem_callback_t to use
 u64 for start/end rather than unsigned long]

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
  • Loading branch information
Matthew Wilcox authored and Tony Luck committed Jun 17, 2009
1 parent e56e2dc commit e088a4a
Show file tree
Hide file tree
Showing 36 changed files with 212 additions and 209 deletions.
2 changes: 1 addition & 1 deletion arch/ia64/hp/common/sba_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1787,7 +1787,7 @@ static struct ioc_iommu ioc_iommu_info[] __initdata = {
};

static struct ioc * __init
ioc_init(u64 hpa, void *handle)
ioc_init(unsigned long hpa, void *handle)
{
struct ioc *ioc;
struct ioc_iommu *info;
Expand Down
18 changes: 9 additions & 9 deletions arch/ia64/include/asm/gcc_intrin.h
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ register unsigned long ia64_r13 asm ("r13") __used;

#define ia64_native_thash(addr) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("thash %0=%1" : "=r"(ia64_intri_res) : "r" (addr)); \
ia64_intri_res; \
})
Expand Down Expand Up @@ -419,7 +419,7 @@ register unsigned long ia64_r13 asm ("r13") __used;

#define ia64_tpa(addr) \
({ \
__u64 ia64_pa; \
unsigned long ia64_pa; \
asm volatile ("tpa %0 = %1" : "=r"(ia64_pa) : "r"(addr) : "memory"); \
ia64_pa; \
})
Expand All @@ -444,50 +444,50 @@ register unsigned long ia64_r13 asm ("r13") __used;

#define ia64_native_get_cpuid(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=cpuid[%r1]" : "=r"(ia64_intri_res) : "rO"(index)); \
ia64_intri_res; \
})

#define __ia64_get_dbr(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=dbr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
ia64_intri_res; \
})

#define ia64_get_ibr(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=ibr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
ia64_intri_res; \
})

#define ia64_get_pkr(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=pkr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
ia64_intri_res; \
})

#define ia64_get_pmc(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=pmc[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
ia64_intri_res; \
})


#define ia64_native_get_pmd(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=pmd[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
ia64_intri_res; \
})

#define ia64_native_get_rr(index) \
({ \
__u64 ia64_intri_res; \
unsigned long ia64_intri_res; \
asm volatile ("mov %0=rr[%1]" : "=r"(ia64_intri_res) : "r" (index)); \
ia64_intri_res; \
})
Expand Down
38 changes: 19 additions & 19 deletions arch/ia64/include/asm/mca.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,39 +72,39 @@ typedef struct ia64_mc_info_s {
struct ia64_sal_os_state {

/* SAL to OS */
u64 os_gp; /* GP of the os registered with the SAL, physical */
u64 pal_proc; /* PAL_PROC entry point, physical */
u64 sal_proc; /* SAL_PROC entry point, physical */
u64 rv_rc; /* MCA - Rendezvous state, INIT - reason code */
u64 proc_state_param; /* from R18 */
u64 monarch; /* 1 for a monarch event, 0 for a slave */
unsigned long os_gp; /* GP of the os registered with the SAL, physical */
unsigned long pal_proc; /* PAL_PROC entry point, physical */
unsigned long sal_proc; /* SAL_PROC entry point, physical */
unsigned long rv_rc; /* MCA - Rendezvous state, INIT - reason code */
unsigned long proc_state_param; /* from R18 */
unsigned long monarch; /* 1 for a monarch event, 0 for a slave */

/* common */
u64 sal_ra; /* Return address in SAL, physical */
u64 sal_gp; /* GP of the SAL - physical */
unsigned long sal_ra; /* Return address in SAL, physical */
unsigned long sal_gp; /* GP of the SAL - physical */
pal_min_state_area_t *pal_min_state; /* from R17. physical in asm, virtual in C */
/* Previous values of IA64_KR(CURRENT) and IA64_KR(CURRENT_STACK).
* Note: if the MCA/INIT recovery code wants to resume to a new context
* then it must change these values to reflect the new kernel stack.
*/
u64 prev_IA64_KR_CURRENT; /* previous value of IA64_KR(CURRENT) */
u64 prev_IA64_KR_CURRENT_STACK;
unsigned long prev_IA64_KR_CURRENT; /* previous value of IA64_KR(CURRENT) */
unsigned long prev_IA64_KR_CURRENT_STACK;
struct task_struct *prev_task; /* previous task, NULL if it is not useful */
/* Some interrupt registers are not saved in minstate, pt_regs or
* switch_stack. Because MCA/INIT can occur when interrupts are
* disabled, we need to save the additional interrupt registers over
* MCA/INIT and resume.
*/
u64 isr;
u64 ifa;
u64 itir;
u64 iipa;
u64 iim;
u64 iha;
unsigned long isr;
unsigned long ifa;
unsigned long itir;
unsigned long iipa;
unsigned long iim;
unsigned long iha;

/* OS to SAL */
u64 os_status; /* OS status to SAL, enum below */
u64 context; /* 0 if return to same context
unsigned long os_status; /* OS status to SAL, enum below */
unsigned long context; /* 0 if return to same context
1 if return to new context */
};

Expand Down Expand Up @@ -150,7 +150,7 @@ extern void ia64_slave_init_handler(void);
extern void ia64_mca_cmc_vector_setup(void);
extern int ia64_reg_MCA_extension(int (*fn)(void *, struct ia64_sal_os_state *));
extern void ia64_unreg_MCA_extension(void);
extern u64 ia64_get_rnat(u64 *);
extern unsigned long ia64_get_rnat(unsigned long *);
extern void ia64_mca_printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2)));

Expand Down
18 changes: 9 additions & 9 deletions arch/ia64/include/asm/meminit.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
#define IA64_MAX_RSVD_REGIONS 9

struct rsvd_region {
unsigned long start; /* virtual address of beginning of element */
unsigned long end; /* virtual address of end of element + 1 */
u64 start; /* virtual address of beginning of element */
u64 end; /* virtual address of end of element + 1 */
};

extern struct rsvd_region rsvd_region[IA64_MAX_RSVD_REGIONS + 1];
Expand All @@ -35,13 +35,13 @@ extern int num_rsvd_regions;
extern void find_memory (void);
extern void reserve_memory (void);
extern void find_initrd (void);
extern int filter_rsvd_memory (unsigned long start, unsigned long end, void *arg);
extern int filter_memory (unsigned long start, unsigned long end, void *arg);
extern unsigned long efi_memmap_init(unsigned long *s, unsigned long *e);
extern int find_max_min_low_pfn (unsigned long , unsigned long, void *);
extern int filter_rsvd_memory (u64 start, u64 end, void *arg);
extern int filter_memory (u64 start, u64 end, void *arg);
extern unsigned long efi_memmap_init(u64 *s, u64 *e);
extern int find_max_min_low_pfn (u64, u64, void *);

extern unsigned long vmcore_find_descriptor_size(unsigned long address);
extern int reserve_elfcorehdr(unsigned long *start, unsigned long *end);
extern int reserve_elfcorehdr(u64 *start, u64 *end);

/*
* For rounding an address to the next IA64_GRANULE_SIZE or order
Expand All @@ -63,8 +63,8 @@ extern int register_active_ranges(u64 start, u64 len, int nid);
# define LARGE_GAP 0x40000000 /* Use virtual mem map if hole is > than this */
extern unsigned long vmalloc_end;
extern struct page *vmem_map;
extern int find_largest_hole (u64 start, u64 end, void *arg);
extern int create_mem_map_page_table (u64 start, u64 end, void *arg);
extern int find_largest_hole(u64 start, u64 end, void *arg);
extern int create_mem_map_page_table(u64 start, u64 end, void *arg);
extern int vmemmap_find_next_valid_pfn(int, int);
#else
static inline int vmemmap_find_next_valid_pfn(int node, int i)
Expand Down
24 changes: 11 additions & 13 deletions arch/ia64/include/asm/pal.h
Original file line number Diff line number Diff line change
Expand Up @@ -989,8 +989,8 @@ ia64_pal_cache_read (pal_cache_line_id_u_t line_id, u64 physical_addr)
}

/* Return summary information about the hierarchy of caches controlled by the processor */
static inline s64
ia64_pal_cache_summary (u64 *cache_levels, u64 *unique_caches)
static inline long ia64_pal_cache_summary(unsigned long *cache_levels,
unsigned long *unique_caches)
{
struct ia64_pal_retval iprv;
PAL_CALL(iprv, PAL_CACHE_SUMMARY, 0, 0, 0);
Expand Down Expand Up @@ -1038,8 +1038,8 @@ ia64_pal_copy_pal (u64 target_addr, u64 alloc_size, u64 processor, u64 *pal_proc
}

/* Return the number of instruction and data debug register pairs */
static inline s64
ia64_pal_debug_info (u64 *inst_regs, u64 *data_regs)
static inline long ia64_pal_debug_info(unsigned long *inst_regs,
unsigned long *data_regs)
{
struct ia64_pal_retval iprv;
PAL_CALL(iprv, PAL_DEBUG_INFO, 0, 0, 0);
Expand Down Expand Up @@ -1074,8 +1074,7 @@ ia64_pal_fixed_addr (u64 *global_unique_addr)
}

/* Get base frequency of the platform if generated by the processor */
static inline s64
ia64_pal_freq_base (u64 *platform_base_freq)
static inline long ia64_pal_freq_base(unsigned long *platform_base_freq)
{
struct ia64_pal_retval iprv;
PAL_CALL(iprv, PAL_FREQ_BASE, 0, 0, 0);
Expand Down Expand Up @@ -1437,7 +1436,7 @@ ia64_pal_proc_set_features (u64 feature_select)
* possible.
*/
typedef struct ia64_ptce_info_s {
u64 base;
unsigned long base;
u32 count[2];
u32 stride[2];
} ia64_ptce_info_t;
Expand Down Expand Up @@ -1478,9 +1477,9 @@ ia64_pal_register_info (u64 info_request, u64 *reg_info_1, u64 *reg_info_2)
}

typedef union pal_hints_u {
u64 ph_data;
unsigned long ph_data;
struct {
u64 si : 1,
unsigned long si : 1,
li : 1,
reserved : 62;
} pal_hints_s;
Expand All @@ -1489,8 +1488,8 @@ typedef union pal_hints_u {
/* Return information about the register stack and RSE for this processor
* implementation.
*/
static inline s64
ia64_pal_rse_info (u64 *num_phys_stacked, pal_hints_u_t *hints)
static inline long ia64_pal_rse_info(unsigned long *num_phys_stacked,
pal_hints_u_t *hints)
{
struct ia64_pal_retval iprv;
PAL_CALL(iprv, PAL_RSE_INFO, 0, 0, 0);
Expand Down Expand Up @@ -1608,8 +1607,7 @@ ia64_pal_vm_info (u64 tc_level, u64 tc_type, pal_tc_info_u_t *tc_info, u64 *tc_
/* Get page size information about the virtual memory characteristics of the processor
* implementation.
*/
static inline s64
ia64_pal_vm_page_size (u64 *tr_pages, u64 *vw_pages)
static inline s64 ia64_pal_vm_page_size(u64 *tr_pages, u64 *vw_pages)
{
struct ia64_pal_retval iprv;
PAL_CALL(iprv, PAL_VM_PAGE_SIZE, 0, 0, 0);
Expand Down
56 changes: 28 additions & 28 deletions arch/ia64/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,40 +187,40 @@ union ia64_rr {
* state comes earlier:
*/
struct cpuinfo_ia64 {
__u32 softirq_pending;
__u64 itm_delta; /* # of clock cycles between clock ticks */
__u64 itm_next; /* interval timer mask value to use for next clock tick */
__u64 nsec_per_cyc; /* (1000000000<<IA64_NSEC_PER_CYC_SHIFT)/itc_freq */
__u64 unimpl_va_mask; /* mask of unimplemented virtual address bits (from PAL) */
__u64 unimpl_pa_mask; /* mask of unimplemented physical address bits (from PAL) */
__u64 itc_freq; /* frequency of ITC counter */
__u64 proc_freq; /* frequency of processor */
__u64 cyc_per_usec; /* itc_freq/1000000 */
__u64 ptce_base;
__u32 ptce_count[2];
__u32 ptce_stride[2];
unsigned int softirq_pending;
unsigned long itm_delta; /* # of clock cycles between clock ticks */
unsigned long itm_next; /* interval timer mask value to use for next clock tick */
unsigned long nsec_per_cyc; /* (1000000000<<IA64_NSEC_PER_CYC_SHIFT)/itc_freq */
unsigned long unimpl_va_mask; /* mask of unimplemented virtual address bits (from PAL) */
unsigned long unimpl_pa_mask; /* mask of unimplemented physical address bits (from PAL) */
unsigned long itc_freq; /* frequency of ITC counter */
unsigned long proc_freq; /* frequency of processor */
unsigned long cyc_per_usec; /* itc_freq/1000000 */
unsigned long ptce_base;
unsigned int ptce_count[2];
unsigned int ptce_stride[2];
struct task_struct *ksoftirqd; /* kernel softirq daemon for this CPU */

#ifdef CONFIG_SMP
__u64 loops_per_jiffy;
unsigned long loops_per_jiffy;
int cpu;
__u32 socket_id; /* physical processor socket id */
__u16 core_id; /* core id */
__u16 thread_id; /* thread id */
__u16 num_log; /* Total number of logical processors on
unsigned int socket_id; /* physical processor socket id */
unsigned short core_id; /* core id */
unsigned short thread_id; /* thread id */
unsigned short num_log; /* Total number of logical processors on
* this socket that were successfully booted */
__u8 cores_per_socket; /* Cores per processor socket */
__u8 threads_per_core; /* Threads per core */
unsigned char cores_per_socket; /* Cores per processor socket */
unsigned char threads_per_core; /* Threads per core */
#endif

/* CPUID-derived information: */
__u64 ppn;
__u64 features;
__u8 number;
__u8 revision;
__u8 model;
__u8 family;
__u8 archrev;
unsigned long ppn;
unsigned long features;
unsigned char number;
unsigned char revision;
unsigned char model;
unsigned char family;
unsigned char archrev;
char vendor[16];
char *model_name;

Expand Down Expand Up @@ -329,8 +329,8 @@ struct thread_struct {
#else
# define INIT_THREAD_PM
#endif
__u64 dbr[IA64_NUM_DBG_REGS];
__u64 ibr[IA64_NUM_DBG_REGS];
unsigned long dbr[IA64_NUM_DBG_REGS];
unsigned long ibr[IA64_NUM_DBG_REGS];
struct ia64_fpreg fph[96]; /* saved/loaded on demand */
};

Expand Down
8 changes: 4 additions & 4 deletions arch/ia64/include/asm/sal.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@ struct ia64_sal_retval {
* informational value should be printed (e.g., "reboot for
* change to take effect").
*/
s64 status;
u64 v0;
u64 v1;
u64 v2;
long status;
unsigned long v0;
unsigned long v1;
unsigned long v2;
};

typedef struct ia64_sal_retval (*ia64_sal_handler) (u64, ...);
Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/include/asm/sn/sn_sal.h
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,7 @@ ia64_sn_sysctl_tio_clock_reset(nasid_t nasid)
/*
* Get the associated ioboard type for a given nasid.
*/
static inline s64
static inline long
ia64_sn_sysctl_ioboard_get(nasid_t nasid, u16 *ioboard)
{
struct ia64_sal_retval isrv;
Expand Down
13 changes: 9 additions & 4 deletions arch/ia64/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@
#define _ASM_IA64_TYPES_H

/*
* This file is never included by application software unless explicitly requested (e.g.,
* via linux/types.h) in which case the application is Linux specific so (user-) name
* space pollution is not a major issue. However, for interoperability, libraries still
* need to be careful to avoid a name clashes.
* This file is never included by application software unless explicitly
* requested (e.g., via linux/types.h) in which case the application is
* Linux specific so (user-) name space pollution is not a major issue.
* However, for interoperability, libraries still need to be careful to
* avoid naming clashes.
*
* Based on <asm-alpha/types.h>.
*
* Modified 1998-2000, 2002
* David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
*/

#ifdef __KERNEL__
#include <asm-generic/int-ll64.h>
#else
#include <asm-generic/int-l64.h>
#endif

#ifdef __ASSEMBLY__
# define __IA64_UL(x) (x)
Expand Down
Loading

0 comments on commit e088a4a

Please sign in to comment.