Commit 56059e5a authored by Richard Henderson's avatar Richard Henderson

Merge are.twiddle.net:/home/rth/BK/linus-2.5

into are.twiddle.net:/home/rth/BK/axp-2.5
parents 2c0889e4 86223d68
...@@ -204,6 +204,14 @@ M: Juergen Fischer <fischer@norbit.de> ...@@ -204,6 +204,14 @@ M: Juergen Fischer <fischer@norbit.de>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Maintained S: Maintained
ALPHA PORT
P: Richard Henderson
M: rth@twiddle.net
S: Odd Fixes for 2.4; Maintained for 2.5.
P: Ivan Kokshaysky
M: ink@jurassic.park.msu.ru
S: Maintained for 2.4; PCI support for 2.5.
APM DRIVER APM DRIVER
P: Stephen Rothwell P: Stephen Rothwell
M: sfr@canb.auug.org.au M: sfr@canb.auug.org.au
......
...@@ -34,7 +34,7 @@ obj-y += core_apecs.o core_cia.o core_irongate.o core_lca.o core_mcpcia.o \ ...@@ -34,7 +34,7 @@ obj-y += core_apecs.o core_cia.o core_irongate.o core_lca.o core_mcpcia.o \
sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o \ sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o \
sys_jensen.o sys_miata.o sys_mikasa.o sys_nautilus.o sys_titan.o \ sys_jensen.o sys_miata.o sys_mikasa.o sys_nautilus.o sys_titan.o \
sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \ sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \
sys_sable.o sys_sio.o sys_sx164.o sys_takara.o sys_rx164.o \ sys_sable.o sys_sio.o sys_sx164.o sys_takara.o \
sys_wildfire.o core_wildfire.o irq_pyxis.o sys_wildfire.o core_wildfire.o irq_pyxis.o
else else
......
...@@ -34,12 +34,12 @@ static void el_process_subpackets(struct el_subpacket *, int); ...@@ -34,12 +34,12 @@ static void el_process_subpackets(struct el_subpacket *, int);
* Generic * Generic
*/ */
void void
mchk_dump_mem(void *data, int length, char **annotation) mchk_dump_mem(void *data, size_t length, char **annotation)
{ {
unsigned long *ldata = data; unsigned long *ldata = data;
int i; size_t i;
for(i = 0; (i * sizeof(*ldata)) < length; i++) { for (i = 0; (i * sizeof(*ldata)) < length; i++) {
if (annotation && !annotation[i]) if (annotation && !annotation[i])
annotation = NULL; annotation = NULL;
printk("%s %08x: %016lx %s\n", printk("%s %08x: %016lx %s\n",
...@@ -624,7 +624,7 @@ el_process_subpackets(struct el_subpacket *header, int packet_count) ...@@ -624,7 +624,7 @@ el_process_subpackets(struct el_subpacket *header, int packet_count)
subpacket = (struct el_subpacket *) subpacket = (struct el_subpacket *)
((unsigned long)header + header->length); ((unsigned long)header + header->length);
for(i = 0; subpacket && i < packet_count; i++) { for (i = 0; subpacket && i < packet_count; i++) {
printk("%sPROCESSING SUBPACKET %d\n", err_print_prefix, i); printk("%sPROCESSING SUBPACKET %d\n", err_print_prefix, i);
subpacket = el_process_subpacket(subpacket); subpacket = el_process_subpacket(subpacket);
} }
...@@ -636,7 +636,7 @@ el_process_subpacket_reg(struct el_subpacket *header) ...@@ -636,7 +636,7 @@ el_process_subpacket_reg(struct el_subpacket *header)
struct el_subpacket *next = NULL; struct el_subpacket *next = NULL;
struct el_subpacket_handler *h = subpacket_handler_list; struct el_subpacket_handler *h = subpacket_handler_list;
for(; h && h->class != header->class; h = h->next); for (; h && h->class != header->class; h = h->next);
if (h) next = h->handler(header); if (h) next = h->handler(header);
return next; return next;
...@@ -673,7 +673,7 @@ el_annotate_subpacket(struct el_subpacket *header) ...@@ -673,7 +673,7 @@ el_annotate_subpacket(struct el_subpacket *header)
struct el_subpacket_annotation *a; struct el_subpacket_annotation *a;
char **annotation = NULL; char **annotation = NULL;
for(a = subpacket_annotation_list; a; a = a->next) { for (a = subpacket_annotation_list; a; a = a->next) {
if (a->class == header->class && if (a->class == header->class &&
a->type == header->type && a->type == header->type &&
a->revision == header->revision) { a->revision == header->revision) {
...@@ -700,7 +700,7 @@ cdl_process_console_data_log(int cpu, struct percpu_struct *pcpu) ...@@ -700,7 +700,7 @@ cdl_process_console_data_log(int cpu, struct percpu_struct *pcpu)
"*** Error(s) were logged on a previous boot\n", "*** Error(s) were logged on a previous boot\n",
err_print_prefix, cpu); err_print_prefix, cpu);
for(err = 0; header && (header->class != EL_CLASS__TERMINATION); err++) for (err = 0; header && (header->class != EL_CLASS__TERMINATION); err++)
header = el_process_subpacket(header); header = el_process_subpacket(header);
/* let the console know it's ok to clear the error(s) at restart */ /* let the console know it's ok to clear the error(s) at restart */
...@@ -715,9 +715,9 @@ void __init ...@@ -715,9 +715,9 @@ void __init
cdl_check_console_data_log(void) cdl_check_console_data_log(void)
{ {
struct percpu_struct *pcpu; struct percpu_struct *pcpu;
int cpu; unsigned long cpu;
for(cpu = 0; cpu < hwrpb->nr_processors; cpu++) { for (cpu = 0; cpu < hwrpb->nr_processors; cpu++) {
pcpu = (struct percpu_struct *) pcpu = (struct percpu_struct *)
((unsigned long)hwrpb + hwrpb->processor_offset ((unsigned long)hwrpb + hwrpb->processor_offset
+ cpu * hwrpb->processor_size); + cpu * hwrpb->processor_size);
...@@ -734,7 +734,7 @@ cdl_register_subpacket_annotation(struct el_subpacket_annotation *new) ...@@ -734,7 +734,7 @@ cdl_register_subpacket_annotation(struct el_subpacket_annotation *new)
if (a == NULL) subpacket_annotation_list = new; if (a == NULL) subpacket_annotation_list = new;
else { else {
for(; a->next != NULL; a = a->next) { for (; a->next != NULL; a = a->next) {
if ((a->class == new->class && a->type == new->type) || if ((a->class == new->class && a->type == new->type) ||
a == new) { a == new) {
printk("Attempted to re-register " printk("Attempted to re-register "
...@@ -756,7 +756,7 @@ cdl_register_subpacket_handler(struct el_subpacket_handler *new) ...@@ -756,7 +756,7 @@ cdl_register_subpacket_handler(struct el_subpacket_handler *new)
if (h == NULL) subpacket_handler_list = new; if (h == NULL) subpacket_handler_list = new;
else { else {
for(; h->next != NULL; h = h->next) { for (; h->next != NULL; h = h->next) {
if (h->class == new->class || h == new) { if (h->class == new->class || h == new) {
printk("Attempted to re-register " printk("Attempted to re-register "
"subpacket handler\n"); "subpacket handler\n");
......
...@@ -133,7 +133,7 @@ struct el_subpacket_handler { ...@@ -133,7 +133,7 @@ struct el_subpacket_handler {
*/ */
extern char *err_print_prefix; extern char *err_print_prefix;
extern void mchk_dump_mem(void *, int, char **); extern void mchk_dump_mem(void *, size_t, char **);
extern void mchk_dump_logout_frame(struct el_common *); extern void mchk_dump_logout_frame(struct el_common *);
extern void ev7_register_error_handlers(void); extern void ev7_register_error_handlers(void);
extern void ev7_machine_check(u64, u64, struct pt_regs *); extern void ev7_machine_check(u64, u64, struct pt_regs *);
......
...@@ -252,7 +252,7 @@ parse_hex_value (const char *buffer, ...@@ -252,7 +252,7 @@ parse_hex_value (const char *buffer,
{ {
unsigned char hexnum [HEX_DIGITS]; unsigned char hexnum [HEX_DIGITS];
unsigned long value; unsigned long value;
int i; unsigned long i;
if (!count) if (!count)
return -EINVAL; return -EINVAL;
......
...@@ -103,7 +103,7 @@ struct osf_dirent { ...@@ -103,7 +103,7 @@ struct osf_dirent {
struct osf_dirent_callback { struct osf_dirent_callback {
struct osf_dirent *dirent; struct osf_dirent *dirent;
long *basep; long *basep;
int count; unsigned int count;
int error; int error;
}; };
...@@ -113,7 +113,7 @@ osf_filldir(void *__buf, const char *name, int namlen, loff_t offset, ...@@ -113,7 +113,7 @@ osf_filldir(void *__buf, const char *name, int namlen, loff_t offset,
{ {
struct osf_dirent *dirent; struct osf_dirent *dirent;
struct osf_dirent_callback *buf = (struct osf_dirent_callback *) __buf; struct osf_dirent_callback *buf = (struct osf_dirent_callback *) __buf;
int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 1); unsigned int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 1);
buf->error = -EINVAL; /* only used if we fail */ buf->error = -EINVAL; /* only used if we fail */
if (reclen > buf->count) if (reclen > buf->count)
...@@ -1343,14 +1343,14 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, ...@@ -1343,14 +1343,14 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
if (addr) { if (addr) {
addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit); addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit);
if (addr != -ENOMEM) if (addr != (unsigned long) -ENOMEM)
return addr; return addr;
} }
/* Next, try allocating at TASK_UNMAPPED_BASE. */ /* Next, try allocating at TASK_UNMAPPED_BASE. */
addr = arch_get_unmapped_area_1 (PAGE_ALIGN(TASK_UNMAPPED_BASE), addr = arch_get_unmapped_area_1 (PAGE_ALIGN(TASK_UNMAPPED_BASE),
len, limit); len, limit);
if (addr != -ENOMEM) if (addr != (unsigned long) -ENOMEM)
return addr; return addr;
/* Finally, try allocating in low memory. */ /* Finally, try allocating in low memory. */
......
...@@ -474,5 +474,5 @@ int ...@@ -474,5 +474,5 @@ int
pci_controller_num(struct pci_dev *pdev) pci_controller_num(struct pci_dev *pdev)
{ {
struct pci_controller *hose = pdev->sysdata; struct pci_controller *hose = pdev->sysdata;
return (hose ? hose->index : -ENXIO); return (hose ? (int) hose->index : -ENXIO);
} }
...@@ -98,9 +98,11 @@ unsigned char aux_device_present = 0xaa; ...@@ -98,9 +98,11 @@ unsigned char aux_device_present = 0xaa;
#define N(a) (sizeof(a)/sizeof(a[0])) #define N(a) (sizeof(a)/sizeof(a[0]))
static struct alpha_machine_vector *get_sysvec(long, long, long); static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long,
unsigned long);
static struct alpha_machine_vector *get_sysvec_byname(const char *); static struct alpha_machine_vector *get_sysvec_byname(const char *);
static void get_sysnames(long, long, long, char **, char **); static void get_sysnames(unsigned long, unsigned long, unsigned long,
char **, char **);
static char command_line[COMMAND_LINE_SIZE]; static char command_line[COMMAND_LINE_SIZE];
char saved_command_line[COMMAND_LINE_SIZE]; char saved_command_line[COMMAND_LINE_SIZE];
...@@ -202,7 +204,7 @@ reserve_std_resources(void) ...@@ -202,7 +204,7 @@ reserve_std_resources(void)
}; };
struct resource *io = &ioport_resource; struct resource *io = &ioport_resource;
long i; size_t i;
if (hose_head) { if (hose_head) {
struct pci_controller *hose; struct pci_controller *hose;
...@@ -258,7 +260,7 @@ setup_memory(void *kernel_end) ...@@ -258,7 +260,7 @@ setup_memory(void *kernel_end)
unsigned long start_kernel_pfn, end_kernel_pfn; unsigned long start_kernel_pfn, end_kernel_pfn;
unsigned long bootmap_size, bootmap_pages, bootmap_start; unsigned long bootmap_size, bootmap_pages, bootmap_start;
unsigned long start, end; unsigned long start, end;
int i; unsigned long i;
/* Find free clusters, and init and free the bootmem accordingly. */ /* Find free clusters, and init and free the bootmem accordingly. */
memdesc = (struct memdesc_struct *) memdesc = (struct memdesc_struct *)
...@@ -327,7 +329,7 @@ setup_memory(void *kernel_end) ...@@ -327,7 +329,7 @@ setup_memory(void *kernel_end)
} }
} }
if (bootmap_start == -1) { if (bootmap_start == ~0UL) {
max_low_pfn >>= 1; max_low_pfn >>= 1;
goto try_again; goto try_again;
} }
...@@ -398,7 +400,7 @@ page_is_ram(unsigned long pfn) ...@@ -398,7 +400,7 @@ page_is_ram(unsigned long pfn)
{ {
struct memclust_struct * cluster; struct memclust_struct * cluster;
struct memdesc_struct * memdesc; struct memdesc_struct * memdesc;
int i; unsigned long i;
memdesc = (struct memdesc_struct *) memdesc = (struct memdesc_struct *)
(hwrpb->mddt_offset + (unsigned long) hwrpb); (hwrpb->mddt_offset + (unsigned long) hwrpb);
...@@ -691,7 +693,7 @@ static char tsunami_names[][16] = { ...@@ -691,7 +693,7 @@ static char tsunami_names[][16] = {
static int tsunami_indices[] = {0,1,2,3,4,5,6,7,8,9,10,11,12}; static int tsunami_indices[] = {0,1,2,3,4,5,6,7,8,9,10,11,12};
static struct alpha_machine_vector * __init static struct alpha_machine_vector * __init
get_sysvec(long type, long variation, long cpu) get_sysvec(unsigned long type, unsigned long variation, unsigned long cpu)
{ {
static struct alpha_machine_vector *systype_vecs[] __initdata = static struct alpha_machine_vector *systype_vecs[] __initdata =
{ {
...@@ -798,10 +800,6 @@ get_sysvec(long type, long variation, long cpu) ...@@ -798,10 +800,6 @@ get_sysvec(long type, long variation, long cpu)
struct alpha_machine_vector *vec; struct alpha_machine_vector *vec;
/* Restore real CABRIO and EB66+ family names, ie EB64+ and EB66 */
if (type < 0)
type = -type;
/* Search the system tables first... */ /* Search the system tables first... */
vec = NULL; vec = NULL;
if (type < N(systype_vecs)) { if (type < N(systype_vecs)) {
...@@ -818,7 +816,7 @@ get_sysvec(long type, long variation, long cpu) ...@@ -818,7 +816,7 @@ get_sysvec(long type, long variation, long cpu)
if (!vec) { if (!vec) {
/* Member ID is a bit-field. */ /* Member ID is a bit-field. */
long member = (variation >> 10) & 0x3f; unsigned long member = (variation >> 10) & 0x3f;
cpu &= 0xffffffff; /* make it usable */ cpu &= 0xffffffff; /* make it usable */
...@@ -917,8 +915,9 @@ get_sysvec_byname(const char *name) ...@@ -917,8 +915,9 @@ get_sysvec_byname(const char *name)
&xlt_mv &xlt_mv
}; };
int i, n = sizeof(all_vecs)/sizeof(*all_vecs); size_t i;
for (i = 0; i < n; ++i) {
for (i = 0; i < N(all_vecs); ++i) {
struct alpha_machine_vector *mv = all_vecs[i]; struct alpha_machine_vector *mv = all_vecs[i];
if (strcasecmp(mv->vector_name, name) == 0) if (strcasecmp(mv->vector_name, name) == 0)
return mv; return mv;
...@@ -927,14 +926,10 @@ get_sysvec_byname(const char *name) ...@@ -927,14 +926,10 @@ get_sysvec_byname(const char *name)
} }
static void static void
get_sysnames(long type, long variation, long cpu, get_sysnames(unsigned long type, unsigned long variation, unsigned long cpu,
char **type_name, char **variation_name) char **type_name, char **variation_name)
{ {
long member; unsigned long member;
/* Restore real CABRIO and EB66+ family names, ie EB64+ and EB66 */
if (type < 0)
type = -type;
/* If not in the tables, make it UNKNOWN, /* If not in the tables, make it UNKNOWN,
else set type name to family */ else set type name to family */
...@@ -952,7 +947,7 @@ get_sysnames(long type, long variation, long cpu, ...@@ -952,7 +947,7 @@ get_sysnames(long type, long variation, long cpu,
return; return;
} }
/* Set variation to "0"; if variation is zero, done */ /* Set variation to "0"; if variation is zero, done. */
*variation_name = systype_names[0]; *variation_name = systype_names[0];
if (variation == 0) { if (variation == 0) {
return; return;
...@@ -1042,7 +1037,8 @@ static int ...@@ -1042,7 +1037,8 @@ static int
get_nr_processors(struct percpu_struct *cpubase, unsigned long num) get_nr_processors(struct percpu_struct *cpubase, unsigned long num)
{ {
struct percpu_struct *cpu; struct percpu_struct *cpu;
int i, count = 0; unsigned long i;
int count = 0;
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
cpu = (struct percpu_struct *) cpu = (struct percpu_struct *)
......
...@@ -970,8 +970,8 @@ void SMC37c669_display_device_info( ...@@ -970,8 +970,8 @@ void SMC37c669_display_device_info(
static struct DEVICE_CONFIG { static struct DEVICE_CONFIG {
unsigned int port1; unsigned int port1;
unsigned int port2; unsigned int port2;
unsigned int irq; int irq;
unsigned int drq; int drq;
} local_config [NUM_FUNCS]; } local_config [NUM_FUNCS];
/* /*
...@@ -1097,11 +1097,11 @@ static struct DEVICE_CONFIG *SMC37c669_get_config( ...@@ -1097,11 +1097,11 @@ static struct DEVICE_CONFIG *SMC37c669_get_config(
); );
static int SMC37c669_xlate_irq( static int SMC37c669_xlate_irq(
unsigned int irq int irq
); );
static int SMC37c669_xlate_drq( static int SMC37c669_xlate_drq(
unsigned int drq int drq
); );
static spinlock_t smc_lock __cacheline_aligned = SPIN_LOCK_UNLOCKED; static spinlock_t smc_lock __cacheline_aligned = SPIN_LOCK_UNLOCKED;
...@@ -2260,7 +2260,7 @@ static struct DEVICE_CONFIG * __init SMC37c669_get_config( unsigned int func ) ...@@ -2260,7 +2260,7 @@ static struct DEVICE_CONFIG * __init SMC37c669_get_config( unsigned int func )
** **
**-- **--
*/ */
static int __init SMC37c669_xlate_irq ( unsigned int irq ) static int __init SMC37c669_xlate_irq ( int irq )
{ {
int i, translated_irq = -1; int i, translated_irq = -1;
...@@ -2312,7 +2312,7 @@ static int __init SMC37c669_xlate_irq ( unsigned int irq ) ...@@ -2312,7 +2312,7 @@ static int __init SMC37c669_xlate_irq ( unsigned int irq )
** **
**-- **--
*/ */
static int __init SMC37c669_xlate_drq ( unsigned int drq ) static int __init SMC37c669_xlate_drq ( int drq )
{ {
int i, translated_drq = -1; int i, translated_drq = -1;
......
...@@ -499,7 +499,7 @@ void __init ...@@ -499,7 +499,7 @@ void __init
setup_smp(void) setup_smp(void)
{ {
struct percpu_struct *cpubase, *cpu; struct percpu_struct *cpubase, *cpu;
int i; unsigned long i;
if (boot_cpuid != 0) { if (boot_cpuid != 0) {
printk(KERN_WARNING "SMP: Booting off cpu %d instead of 0?\n", printk(KERN_WARNING "SMP: Booting off cpu %d instead of 0?\n",
...@@ -516,7 +516,7 @@ setup_smp(void) ...@@ -516,7 +516,7 @@ setup_smp(void)
((char*)hwrpb + hwrpb->processor_offset); ((char*)hwrpb + hwrpb->processor_offset);
boot_cpu_palrev = cpubase->pal_revision; boot_cpu_palrev = cpubase->pal_revision;
for (i = 0; i < hwrpb->nr_processors; i++ ) { for (i = 0; i < hwrpb->nr_processors; i++) {
cpu = (struct percpu_struct *) cpu = (struct percpu_struct *)
((char *)cpubase + i*hwrpb->processor_size); ((char *)cpubase + i*hwrpb->processor_size);
if ((cpu->flags & 0x1cc) == 0x1cc) { if ((cpu->flags & 0x1cc) == 0x1cc) {
......
...@@ -316,7 +316,7 @@ time_init(void) ...@@ -316,7 +316,7 @@ time_init(void)
diff = cycle_freq - est_cycle_freq; diff = cycle_freq - est_cycle_freq;
if (diff < 0) if (diff < 0)
diff = -diff; diff = -diff;
if (diff > one_percent) { if ((unsigned long)diff > one_percent) {
cycle_freq = est_cycle_freq; cycle_freq = est_cycle_freq;
printk("HWRPB cycle frequency bogus. " printk("HWRPB cycle frequency bogus. "
"Estimated %lu Hz\n", cycle_freq); "Estimated %lu Hz\n", cycle_freq);
......
...@@ -48,6 +48,7 @@ alpha_read_fp_reg (unsigned long reg) ...@@ -48,6 +48,7 @@ alpha_read_fp_reg (unsigned long reg)
case 29: STT(29, val); break; case 29: STT(29, val); break;
case 30: STT(30, val); break; case 30: STT(30, val); break;
case 31: STT(31, val); break; case 31: STT(31, val); break;
default: return 0;
} }
return val; return val;
} }
...@@ -141,6 +142,7 @@ alpha_read_fp_reg_s (unsigned long reg) ...@@ -141,6 +142,7 @@ alpha_read_fp_reg_s (unsigned long reg)
case 29: STS(29, val); break; case 29: STS(29, val); break;
case 30: STS(30, val); break; case 30: STS(30, val); break;
case 31: STS(31, val); break; case 31: STS(31, val); break;
default: return 0;
} }
return val; return val;
} }
......
...@@ -414,7 +414,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count) ...@@ -414,7 +414,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count)
/* Optimize co-aligned transfers. Everything else gets handled /* Optimize co-aligned transfers. Everything else gets handled
a byte at a time. */ a byte at a time. */
if (count >= 8 && ((long)to & 7) == (from & 7)) { if (count >= 8 && ((unsigned long)to & 7) == (from & 7)) {
count -= 8; count -= 8;
do { do {
*(u64 *)to = __raw_readq(from); *(u64 *)to = __raw_readq(from);
...@@ -425,7 +425,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count) ...@@ -425,7 +425,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count)
count += 8; count += 8;
} }
if (count >= 4 && ((long)to & 3) == (from & 3)) { if (count >= 4 && ((unsigned long)to & 3) == (from & 3)) {
count -= 4; count -= 4;
do { do {
*(u32 *)to = __raw_readl(from); *(u32 *)to = __raw_readl(from);
...@@ -436,7 +436,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count) ...@@ -436,7 +436,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count)
count += 4; count += 4;
} }
if (count >= 2 && ((long)to & 1) == (from & 1)) { if (count >= 2 && ((unsigned long)to & 1) == (from & 1)) {
count -= 2; count -= 2;
do { do {
*(u16 *)to = __raw_readw(from); *(u16 *)to = __raw_readw(from);
...@@ -465,7 +465,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count) ...@@ -465,7 +465,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count)
a byte at a time. */ a byte at a time. */
/* FIXME -- align FROM. */ /* FIXME -- align FROM. */
if (count >= 8 && (to & 7) == ((long)from & 7)) { if (count >= 8 && (to & 7) == ((unsigned long)from & 7)) {
count -= 8; count -= 8;
do { do {
__raw_writeq(*(const u64 *)from, to); __raw_writeq(*(const u64 *)from, to);
...@@ -476,7 +476,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count) ...@@ -476,7 +476,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count)
count += 8; count += 8;
} }
if (count >= 4 && (to & 3) == ((long)from & 3)) { if (count >= 4 && (to & 3) == ((unsigned long)from & 3)) {
count -= 4; count -= 4;
do { do {
__raw_writel(*(const u32 *)from, to); __raw_writel(*(const u32 *)from, to);
...@@ -487,7 +487,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count) ...@@ -487,7 +487,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count)
count += 4; count += 4;
} }
if (count >= 2 && (to & 1) == ((long)from & 1)) { if (count >= 2 && (to & 1) == ((unsigned long)from & 1)) {
count -= 2; count -= 2;
do { do {
__raw_writew(*(const u16 *)from, to); __raw_writew(*(const u16 *)from, to);
......
...@@ -242,7 +242,7 @@ callback_init(void * kernel_end) ...@@ -242,7 +242,7 @@ callback_init(void * kernel_end)
if (alpha_using_srm) { if (alpha_using_srm) {
static struct vm_struct console_remap_vm; static struct vm_struct console_remap_vm;
unsigned long vaddr = VMALLOC_START; unsigned long vaddr = VMALLOC_START;
long i, j; unsigned long i, j;
/* Set up the third level PTEs and update the virtual /* Set up the third level PTEs and update the virtual
addresses of the CRB entries. */ addresses of the CRB entries. */
......
...@@ -32,793 +32,793 @@ extern void xor_alpha_prefetch_5(unsigned long, unsigned long *, ...@@ -32,793 +32,793 @@ extern void xor_alpha_prefetch_5(unsigned long, unsigned long *,
unsigned long *, unsigned long *, unsigned long *, unsigned long *,
unsigned long *, unsigned long *); unsigned long *, unsigned long *);
asm(" asm(" \n\
.text .text \n\
.align 3 .align 3 \n\
.ent xor_alpha_2 .ent xor_alpha_2 \n\
xor_alpha_2: xor_alpha_2: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
.align 4 .align 4 \n\
2: 2: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,8($17) ldq $2,8($17) \n\
ldq $3,8($18) ldq $3,8($18) \n\
\n\
ldq $4,16($17) ldq $4,16($17) \n\
ldq $5,16($18) ldq $5,16($18) \n\
ldq $6,24($17) ldq $6,24($17) \n\
ldq $7,24($18) ldq $7,24($18) \n\
\n\
ldq $19,32($17) ldq $19,32($17) \n\
ldq $20,32($18) ldq $20,32($18) \n\
ldq $21,40($17) ldq $21,40($17) \n\
ldq $22,40($18) ldq $22,40($18) \n\
\n\
ldq $23,48($17) ldq $23,48($17) \n\
ldq $24,48($18) ldq $24,48($18) \n\
ldq $25,56($17) ldq $25,56($17) \n\
xor $0,$1,$0 # 7 cycles from $1 load xor $0,$1,$0 # 7 cycles from $1 load \n\
\n\
ldq $27,56($18) ldq $27,56($18) \n\
xor $2,$3,$2 xor $2,$3,$2 \n\
stq $0,0($17) stq $0,0($17) \n\
xor $4,$5,$4 xor $4,$5,$4 \n\
\n\
stq $2,8($17) stq $2,8($17) \n\
xor $6,$7,$6 xor $6,$7,$6 \n\
stq $4,16($17) stq $4,16($17) \n\
xor $19,$20,$19 xor $19,$20,$19 \n\
\n\
stq $6,24($17) stq $6,24($17) \n\
xor $21,$22,$21 xor $21,$22,$21 \n\
stq $19,32($17) stq $19,32($17) \n\
xor $23,$24,$23 xor $23,$24,$23 \n\
\n\
stq $21,40($17) stq $21,40($17) \n\
xor $25,$27,$25 xor $25,$27,$25 \n\
stq $23,48($17) stq $23,48($17) \n\
subq $16,1,$16 subq $16,1,$16 \n\
\n\
stq $25,56($17) stq $25,56($17) \n\
addq $17,64,$17 addq $17,64,$17 \n\
addq $18,64,$18 addq $18,64,$18 \n\
bgt $16,2b bgt $16,2b \n\
\n\
ret ret \n\
.end xor_alpha_2 .end xor_alpha_2 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_3 .ent xor_alpha_3 \n\
xor_alpha_3: xor_alpha_3: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
.align 4 .align 4 \n\
3: 3: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,0($19) ldq $2,0($19) \n\
ldq $3,8($17) ldq $3,8($17) \n\
\n\
ldq $4,8($18) ldq $4,8($18) \n\
ldq $6,16($17) ldq $6,16($17) \n\
ldq $7,16($18) ldq $7,16($18) \n\
ldq $21,24($17) ldq $21,24($17) \n\
\n\
ldq $22,24($18) ldq $22,24($18) \n\
ldq $24,32($17) ldq $24,32($17) \n\
ldq $25,32($18) ldq $25,32($18) \n\
ldq $5,8($19) ldq $5,8($19) \n\
\n\
ldq $20,16($19) ldq $20,16($19) \n\
ldq $23,24($19) ldq $23,24($19) \n\
ldq $27,32($19) ldq $27,32($19) \n\
nop nop \n\
\n\
xor $0,$1,$1 # 8 cycles from $0 load xor $0,$1,$1 # 8 cycles from $0 load \n\
xor $3,$4,$4 # 6 cycles from $4 load xor $3,$4,$4 # 6 cycles from $4 load \n\
xor $6,$7,$7 # 6 cycles from $7 load xor $6,$7,$7 # 6 cycles from $7 load \n\
xor $21,$22,$22 # 5 cycles from $22 load xor $21,$22,$22 # 5 cycles from $22 load \n\
\n\
xor $1,$2,$2 # 9 cycles from $2 load xor $1,$2,$2 # 9 cycles from $2 load \n\
xor $24,$25,$25 # 5 cycles from $25 load xor $24,$25,$25 # 5 cycles from $25 load \n\
stq $2,0($17) stq $2,0($17) \n\
xor $4,$5,$5 # 6 cycles from $5 load xor $4,$5,$5 # 6 cycles from $5 load \n\
\n\
stq $5,8($17) stq $5,8($17) \n\
xor $7,$20,$20 # 7 cycles from $20 load xor $7,$20,$20 # 7 cycles from $20 load \n\
stq $20,16($17) stq $20,16($17) \n\
xor $22,$23,$23 # 7 cycles from $23 load xor $22,$23,$23 # 7 cycles from $23 load \n\
\n\
stq $23,24($17) stq $23,24($17) \n\
xor $25,$27,$27 # 7 cycles from $27 load xor $25,$27,$27 # 7 cycles from $27 load \n\
stq $27,32($17) stq $27,32($17) \n\
nop nop \n\
\n\
ldq $0,40($17) ldq $0,40($17) \n\
ldq $1,40($18) ldq $1,40($18) \n\
ldq $3,48($17) ldq $3,48($17) \n\
ldq $4,48($18) ldq $4,48($18) \n\
\n\
ldq $6,56($17) ldq $6,56($17) \n\
ldq $7,56($18) ldq $7,56($18) \n\
ldq $2,40($19) ldq $2,40($19) \n\
ldq $5,48($19) ldq $5,48($19) \n\
\n\
ldq $20,56($19) ldq $20,56($19) \n\
xor $0,$1,$1 # 4 cycles from $1 load xor $0,$1,$1 # 4 cycles from $1 load \n\
xor $3,$4,$4 # 5 cycles from $4 load xor $3,$4,$4 # 5 cycles from $4 load \n\
xor $6,$7,$7 # 5 cycles from $7 load xor $6,$7,$7 # 5 cycles from $7 load \n\
\n\
xor $1,$2,$2 # 4 cycles from $2 load xor $1,$2,$2 # 4 cycles from $2 load \n\
xor $4,$5,$5 # 5 cycles from $5 load xor $4,$5,$5 # 5 cycles from $5 load \n\
stq $2,40($17) stq $2,40($17) \n\
xor $7,$20,$20 # 4 cycles from $20 load xor $7,$20,$20 # 4 cycles from $20 load \n\
\n\
stq $5,48($17) stq $5,48($17) \n\
subq $16,1,$16 subq $16,1,$16 \n\
stq $20,56($17) stq $20,56($17) \n\
addq $19,64,$19 addq $19,64,$19 \n\
\n\
addq $18,64,$18 addq $18,64,$18 \n\
addq $17,64,$17 addq $17,64,$17 \n\
bgt $16,3b bgt $16,3b \n\
ret ret \n\
.end xor_alpha_3 .end xor_alpha_3 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_4 .ent xor_alpha_4 \n\
xor_alpha_4: xor_alpha_4: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
.align 4 .align 4 \n\
4: 4: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,0($19) ldq $2,0($19) \n\
ldq $3,0($20) ldq $3,0($20) \n\
\n\
ldq $4,8($17) ldq $4,8($17) \n\
ldq $5,8($18) ldq $5,8($18) \n\
ldq $6,8($19) ldq $6,8($19) \n\
ldq $7,8($20) ldq $7,8($20) \n\
\n\
ldq $21,16($17) ldq $21,16($17) \n\
ldq $22,16($18) ldq $22,16($18) \n\
ldq $23,16($19) ldq $23,16($19) \n\
ldq $24,16($20) ldq $24,16($20) \n\
\n\
ldq $25,24($17) ldq $25,24($17) \n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
ldq $27,24($18) ldq $27,24($18) \n\
xor $2,$3,$3 # 6 cycles from $3 load xor $2,$3,$3 # 6 cycles from $3 load \n\
\n\
ldq $0,24($19) ldq $0,24($19) \n\
xor $1,$3,$3 xor $1,$3,$3 \n\
ldq $1,24($20) ldq $1,24($20) \n\
xor $4,$5,$5 # 7 cycles from $5 load xor $4,$5,$5 # 7 cycles from $5 load \n\
\n\
stq $3,0($17) stq $3,0($17) \n\
xor $6,$7,$7 xor $6,$7,$7 \n\
xor $21,$22,$22 # 7 cycles from $22 load xor $21,$22,$22 # 7 cycles from $22 load \n\
xor $5,$7,$7 xor $5,$7,$7 \n\
\n\
stq $7,8($17) stq $7,8($17) \n\
xor $23,$24,$24 # 7 cycles from $24 load xor $23,$24,$24 # 7 cycles from $24 load \n\
ldq $2,32($17) ldq $2,32($17) \n\
xor $22,$24,$24 xor $22,$24,$24 \n\
\n\
ldq $3,32($18) ldq $3,32($18) \n\
ldq $4,32($19) ldq $4,32($19) \n\
ldq $5,32($20) ldq $5,32($20) \n\
xor $25,$27,$27 # 8 cycles from $27 load xor $25,$27,$27 # 8 cycles from $27 load \n\
\n\
ldq $6,40($17) ldq $6,40($17) \n\
ldq $7,40($18) ldq $7,40($18) \n\
ldq $21,40($19) ldq $21,40($19) \n\
ldq $22,40($20) ldq $22,40($20) \n\
\n\
stq $24,16($17) stq $24,16($17) \n\
xor $0,$1,$1 # 9 cycles from $1 load xor $0,$1,$1 # 9 cycles from $1 load \n\
xor $2,$3,$3 # 5 cycles from $3 load xor $2,$3,$3 # 5 cycles from $3 load \n\
xor $27,$1,$1 xor $27,$1,$1 \n\
\n\
stq $1,24($17) stq $1,24($17) \n\
xor $4,$5,$5 # 5 cycles from $5 load xor $4,$5,$5 # 5 cycles from $5 load \n\
ldq $23,48($17) ldq $23,48($17) \n\
ldq $24,48($18) ldq $24,48($18) \n\
\n\
ldq $25,48($19) ldq $25,48($19) \n\
xor $3,$5,$5 xor $3,$5,$5 \n\
ldq $27,48($20) ldq $27,48($20) \n\
ldq $0,56($17) ldq $0,56($17) \n\
\n\
ldq $1,56($18) ldq $1,56($18) \n\
ldq $2,56($19) ldq $2,56($19) \n\
xor $6,$7,$7 # 8 cycles from $6 load xor $6,$7,$7 # 8 cycles from $6 load \n\
ldq $3,56($20) ldq $3,56($20) \n\
\n\
stq $5,32($17) stq $5,32($17) \n\
xor $21,$22,$22 # 8 cycles from $22 load xor $21,$22,$22 # 8 cycles from $22 load \n\
xor $7,$22,$22 xor $7,$22,$22 \n\
xor $23,$24,$24 # 5 cycles from $24 load xor $23,$24,$24 # 5 cycles from $24 load \n\
\n\
stq $22,40($17) stq $22,40($17) \n\
xor $25,$27,$27 # 5 cycles from $27 load xor $25,$27,$27 # 5 cycles from $27 load \n\
xor $24,$27,$27 xor $24,$27,$27 \n\
xor $0,$1,$1 # 5 cycles from $1 load xor $0,$1,$1 # 5 cycles from $1 load \n\
\n\
stq $27,48($17) stq $27,48($17) \n\
xor $2,$3,$3 # 4 cycles from $3 load xor $2,$3,$3 # 4 cycles from $3 load \n\
xor $1,$3,$3 xor $1,$3,$3 \n\
subq $16,1,$16 subq $16,1,$16 \n\
\n\
stq $3,56($17) stq $3,56($17) \n\
addq $20,64,$20 addq $20,64,$20 \n\
addq $19,64,$19 addq $19,64,$19 \n\
addq $18,64,$18 addq $18,64,$18 \n\
\n\
addq $17,64,$17 addq $17,64,$17 \n\
bgt $16,4b bgt $16,4b \n\
ret ret \n\
.end xor_alpha_4 .end xor_alpha_4 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_5 .ent xor_alpha_5 \n\
xor_alpha_5: xor_alpha_5: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
.align 4 .align 4 \n\
5: 5: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,0($19) ldq $2,0($19) \n\
ldq $3,0($20) ldq $3,0($20) \n\
\n\
ldq $4,0($21) ldq $4,0($21) \n\
ldq $5,8($17) ldq $5,8($17) \n\
ldq $6,8($18) ldq $6,8($18) \n\
ldq $7,8($19) ldq $7,8($19) \n\
\n\
ldq $22,8($20) ldq $22,8($20) \n\
ldq $23,8($21) ldq $23,8($21) \n\
ldq $24,16($17) ldq $24,16($17) \n\
ldq $25,16($18) ldq $25,16($18) \n\
\n\
ldq $27,16($19) ldq $27,16($19) \n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
ldq $28,16($20) ldq $28,16($20) \n\
xor $2,$3,$3 # 6 cycles from $3 load xor $2,$3,$3 # 6 cycles from $3 load \n\
\n\
ldq $0,16($21) ldq $0,16($21) \n\
xor $1,$3,$3 xor $1,$3,$3 \n\
ldq $1,24($17) ldq $1,24($17) \n\
xor $3,$4,$4 # 7 cycles from $4 load xor $3,$4,$4 # 7 cycles from $4 load \n\
\n\
stq $4,0($17) stq $4,0($17) \n\
xor $5,$6,$6 # 7 cycles from $6 load xor $5,$6,$6 # 7 cycles from $6 load \n\
xor $7,$22,$22 # 7 cycles from $22 load xor $7,$22,$22 # 7 cycles from $22 load \n\
xor $6,$23,$23 # 7 cycles from $23 load xor $6,$23,$23 # 7 cycles from $23 load \n\
\n\
ldq $2,24($18) ldq $2,24($18) \n\
xor $22,$23,$23 xor $22,$23,$23 \n\
ldq $3,24($19) ldq $3,24($19) \n\
xor $24,$25,$25 # 8 cycles from $25 load xor $24,$25,$25 # 8 cycles from $25 load \n\
\n\
stq $23,8($17) stq $23,8($17) \n\
xor $25,$27,$27 # 8 cycles from $27 load xor $25,$27,$27 # 8 cycles from $27 load \n\
ldq $4,24($20) ldq $4,24($20) \n\
xor $28,$0,$0 # 7 cycles from $0 load xor $28,$0,$0 # 7 cycles from $0 load \n\
\n\
ldq $5,24($21) ldq $5,24($21) \n\
xor $27,$0,$0 xor $27,$0,$0 \n\
ldq $6,32($17) ldq $6,32($17) \n\
ldq $7,32($18) ldq $7,32($18) \n\
\n\
stq $0,16($17) stq $0,16($17) \n\
xor $1,$2,$2 # 6 cycles from $2 load xor $1,$2,$2 # 6 cycles from $2 load \n\
ldq $22,32($19) ldq $22,32($19) \n\
xor $3,$4,$4 # 4 cycles from $4 load xor $3,$4,$4 # 4 cycles from $4 load \n\
\n\
ldq $23,32($20) ldq $23,32($20) \n\
xor $2,$4,$4 xor $2,$4,$4 \n\
ldq $24,32($21) ldq $24,32($21) \n\
ldq $25,40($17) ldq $25,40($17) \n\
\n\
ldq $27,40($18) ldq $27,40($18) \n\
ldq $28,40($19) ldq $28,40($19) \n\
ldq $0,40($20) ldq $0,40($20) \n\
xor $4,$5,$5 # 7 cycles from $5 load xor $4,$5,$5 # 7 cycles from $5 load \n\
\n\
stq $5,24($17) stq $5,24($17) \n\
xor $6,$7,$7 # 7 cycles from $7 load xor $6,$7,$7 # 7 cycles from $7 load \n\
ldq $1,40($21) ldq $1,40($21) \n\
ldq $2,48($17) ldq $2,48($17) \n\
\n\
ldq $3,48($18) ldq $3,48($18) \n\
xor $7,$22,$22 # 7 cycles from $22 load xor $7,$22,$22 # 7 cycles from $22 load \n\
ldq $4,48($19) ldq $4,48($19) \n\
xor $23,$24,$24 # 6 cycles from $24 load xor $23,$24,$24 # 6 cycles from $24 load \n\
\n\
ldq $5,48($20) ldq $5,48($20) \n\
xor $22,$24,$24 xor $22,$24,$24 \n\
ldq $6,48($21) ldq $6,48($21) \n\
xor $25,$27,$27 # 7 cycles from $27 load xor $25,$27,$27 # 7 cycles from $27 load \n\
\n\
stq $24,32($17) stq $24,32($17) \n\
xor $27,$28,$28 # 8 cycles from $28 load xor $27,$28,$28 # 8 cycles from $28 load \n\
ldq $7,56($17) ldq $7,56($17) \n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
\n\
ldq $22,56($18) ldq $22,56($18) \n\
ldq $23,56($19) ldq $23,56($19) \n\
ldq $24,56($20) ldq $24,56($20) \n\
ldq $25,56($21) ldq $25,56($21) \n\
\n\
xor $28,$1,$1 xor $28,$1,$1 \n\
xor $2,$3,$3 # 9 cycles from $3 load xor $2,$3,$3 # 9 cycles from $3 load \n\
xor $3,$4,$4 # 9 cycles from $4 load xor $3,$4,$4 # 9 cycles from $4 load \n\
xor $5,$6,$6 # 8 cycles from $6 load xor $5,$6,$6 # 8 cycles from $6 load \n\
\n\
stq $1,40($17) stq $1,40($17) \n\
xor $4,$6,$6 xor $4,$6,$6 \n\
xor $7,$22,$22 # 7 cycles from $22 load xor $7,$22,$22 # 7 cycles from $22 load \n\
xor $23,$24,$24 # 6 cycles from $24 load xor $23,$24,$24 # 6 cycles from $24 load \n\
\n\
stq $6,48($17) stq $6,48($17) \n\
xor $22,$24,$24 xor $22,$24,$24 \n\
subq $16,1,$16 subq $16,1,$16 \n\
xor $24,$25,$25 # 8 cycles from $25 load xor $24,$25,$25 # 8 cycles from $25 load \n\
\n\
stq $25,56($17) stq $25,56($17) \n\
addq $21,64,$21 addq $21,64,$21 \n\
addq $20,64,$20 addq $20,64,$20 \n\
addq $19,64,$19 addq $19,64,$19 \n\
\n\
addq $18,64,$18 addq $18,64,$18 \n\
addq $17,64,$17 addq $17,64,$17 \n\
bgt $16,5b bgt $16,5b \n\
ret ret \n\
.end xor_alpha_5 .end xor_alpha_5 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_prefetch_2 .ent xor_alpha_prefetch_2 \n\
xor_alpha_prefetch_2: xor_alpha_prefetch_2: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
\n\
ldq $31, 0($17) ldq $31, 0($17) \n\
ldq $31, 0($18) ldq $31, 0($18) \n\
\n\
ldq $31, 64($17) ldq $31, 64($17) \n\
ldq $31, 64($18) ldq $31, 64($18) \n\
\n\
ldq $31, 128($17) ldq $31, 128($17) \n\
ldq $31, 128($18) ldq $31, 128($18) \n\
\n\
ldq $31, 192($17) ldq $31, 192($17) \n\
ldq $31, 192($18) ldq $31, 192($18) \n\
.align 4 .align 4 \n\
2: 2: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,8($17) ldq $2,8($17) \n\
ldq $3,8($18) ldq $3,8($18) \n\
\n\
ldq $4,16($17) ldq $4,16($17) \n\
ldq $5,16($18) ldq $5,16($18) \n\
ldq $6,24($17) ldq $6,24($17) \n\
ldq $7,24($18) ldq $7,24($18) \n\
\n\
ldq $19,32($17) ldq $19,32($17) \n\
ldq $20,32($18) ldq $20,32($18) \n\
ldq $21,40($17) ldq $21,40($17) \n\
ldq $22,40($18) ldq $22,40($18) \n\
\n\
ldq $23,48($17) ldq $23,48($17) \n\
ldq $24,48($18) ldq $24,48($18) \n\
ldq $25,56($17) ldq $25,56($17) \n\
ldq $27,56($18) ldq $27,56($18) \n\
\n\
ldq $31,256($17) ldq $31,256($17) \n\
xor $0,$1,$0 # 8 cycles from $1 load xor $0,$1,$0 # 8 cycles from $1 load \n\
ldq $31,256($18) ldq $31,256($18) \n\
xor $2,$3,$2 xor $2,$3,$2 \n\
\n\
stq $0,0($17) stq $0,0($17) \n\
xor $4,$5,$4 xor $4,$5,$4 \n\
stq $2,8($17) stq $2,8($17) \n\
xor $6,$7,$6 xor $6,$7,$6 \n\
\n\
stq $4,16($17) stq $4,16($17) \n\
xor $19,$20,$19 xor $19,$20,$19 \n\
stq $6,24($17) stq $6,24($17) \n\
xor $21,$22,$21 xor $21,$22,$21 \n\
\n\
stq $19,32($17) stq $19,32($17) \n\
xor $23,$24,$23 xor $23,$24,$23 \n\
stq $21,40($17) stq $21,40($17) \n\
xor $25,$27,$25 xor $25,$27,$25 \n\
\n\
stq $23,48($17) stq $23,48($17) \n\
subq $16,1,$16 subq $16,1,$16 \n\
stq $25,56($17) stq $25,56($17) \n\
addq $17,64,$17 addq $17,64,$17 \n\
\n\
addq $18,64,$18 addq $18,64,$18 \n\
bgt $16,2b bgt $16,2b \n\
ret ret \n\
.end xor_alpha_prefetch_2 .end xor_alpha_prefetch_2 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_prefetch_3 .ent xor_alpha_prefetch_3 \n\
xor_alpha_prefetch_3: xor_alpha_prefetch_3: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
\n\
ldq $31, 0($17) ldq $31, 0($17) \n\
ldq $31, 0($18) ldq $31, 0($18) \n\
ldq $31, 0($19) ldq $31, 0($19) \n\
\n\
ldq $31, 64($17) ldq $31, 64($17) \n\
ldq $31, 64($18) ldq $31, 64($18) \n\
ldq $31, 64($19) ldq $31, 64($19) \n\
\n\
ldq $31, 128($17) ldq $31, 128($17) \n\
ldq $31, 128($18) ldq $31, 128($18) \n\
ldq $31, 128($19) ldq $31, 128($19) \n\
\n\
ldq $31, 192($17) ldq $31, 192($17) \n\
ldq $31, 192($18) ldq $31, 192($18) \n\
ldq $31, 192($19) ldq $31, 192($19) \n\
.align 4 .align 4 \n\
3: 3: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,0($19) ldq $2,0($19) \n\
ldq $3,8($17) ldq $3,8($17) \n\
\n\
ldq $4,8($18) ldq $4,8($18) \n\
ldq $6,16($17) ldq $6,16($17) \n\
ldq $7,16($18) ldq $7,16($18) \n\
ldq $21,24($17) ldq $21,24($17) \n\
\n\
ldq $22,24($18) ldq $22,24($18) \n\
ldq $24,32($17) ldq $24,32($17) \n\
ldq $25,32($18) ldq $25,32($18) \n\
ldq $5,8($19) ldq $5,8($19) \n\
\n\
ldq $20,16($19) ldq $20,16($19) \n\
ldq $23,24($19) ldq $23,24($19) \n\
ldq $27,32($19) ldq $27,32($19) \n\
nop nop \n\
\n\
xor $0,$1,$1 # 8 cycles from $0 load xor $0,$1,$1 # 8 cycles from $0 load \n\
xor $3,$4,$4 # 7 cycles from $4 load xor $3,$4,$4 # 7 cycles from $4 load \n\
xor $6,$7,$7 # 6 cycles from $7 load xor $6,$7,$7 # 6 cycles from $7 load \n\
xor $21,$22,$22 # 5 cycles from $22 load xor $21,$22,$22 # 5 cycles from $22 load \n\
\n\
xor $1,$2,$2 # 9 cycles from $2 load xor $1,$2,$2 # 9 cycles from $2 load \n\
xor $24,$25,$25 # 5 cycles from $25 load xor $24,$25,$25 # 5 cycles from $25 load \n\
stq $2,0($17) stq $2,0($17) \n\
xor $4,$5,$5 # 6 cycles from $5 load xor $4,$5,$5 # 6 cycles from $5 load \n\
\n\
stq $5,8($17) stq $5,8($17) \n\
xor $7,$20,$20 # 7 cycles from $20 load xor $7,$20,$20 # 7 cycles from $20 load \n\
stq $20,16($17) stq $20,16($17) \n\
xor $22,$23,$23 # 7 cycles from $23 load xor $22,$23,$23 # 7 cycles from $23 load \n\
\n\
stq $23,24($17) stq $23,24($17) \n\
xor $25,$27,$27 # 7 cycles from $27 load xor $25,$27,$27 # 7 cycles from $27 load \n\
stq $27,32($17) stq $27,32($17) \n\
nop nop \n\
\n\
ldq $0,40($17) ldq $0,40($17) \n\
ldq $1,40($18) ldq $1,40($18) \n\
ldq $3,48($17) ldq $3,48($17) \n\
ldq $4,48($18) ldq $4,48($18) \n\
\n\
ldq $6,56($17) ldq $6,56($17) \n\
ldq $7,56($18) ldq $7,56($18) \n\
ldq $2,40($19) ldq $2,40($19) \n\
ldq $5,48($19) ldq $5,48($19) \n\
\n\
ldq $20,56($19) ldq $20,56($19) \n\
ldq $31,256($17) ldq $31,256($17) \n\
ldq $31,256($18) ldq $31,256($18) \n\
ldq $31,256($19) ldq $31,256($19) \n\
\n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
xor $3,$4,$4 # 5 cycles from $4 load xor $3,$4,$4 # 5 cycles from $4 load \n\
xor $6,$7,$7 # 5 cycles from $7 load xor $6,$7,$7 # 5 cycles from $7 load \n\
xor $1,$2,$2 # 4 cycles from $2 load xor $1,$2,$2 # 4 cycles from $2 load \n\
\n\
xor $4,$5,$5 # 5 cycles from $5 load xor $4,$5,$5 # 5 cycles from $5 load \n\
xor $7,$20,$20 # 4 cycles from $20 load xor $7,$20,$20 # 4 cycles from $20 load \n\
stq $2,40($17) stq $2,40($17) \n\
subq $16,1,$16 subq $16,1,$16 \n\
\n\
stq $5,48($17) stq $5,48($17) \n\
addq $19,64,$19 addq $19,64,$19 \n\
stq $20,56($17) stq $20,56($17) \n\
addq $18,64,$18 addq $18,64,$18 \n\
\n\
addq $17,64,$17 addq $17,64,$17 \n\
bgt $16,3b bgt $16,3b \n\
ret ret \n\
.end xor_alpha_prefetch_3 .end xor_alpha_prefetch_3 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_prefetch_4 .ent xor_alpha_prefetch_4 \n\
xor_alpha_prefetch_4: xor_alpha_prefetch_4: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
\n\
ldq $31, 0($17) ldq $31, 0($17) \n\
ldq $31, 0($18) ldq $31, 0($18) \n\
ldq $31, 0($19) ldq $31, 0($19) \n\
ldq $31, 0($20) ldq $31, 0($20) \n\
\n\
ldq $31, 64($17) ldq $31, 64($17) \n\
ldq $31, 64($18) ldq $31, 64($18) \n\
ldq $31, 64($19) ldq $31, 64($19) \n\
ldq $31, 64($20) ldq $31, 64($20) \n\
\n\
ldq $31, 128($17) ldq $31, 128($17) \n\
ldq $31, 128($18) ldq $31, 128($18) \n\
ldq $31, 128($19) ldq $31, 128($19) \n\
ldq $31, 128($20) ldq $31, 128($20) \n\
\n\
ldq $31, 192($17) ldq $31, 192($17) \n\
ldq $31, 192($18) ldq $31, 192($18) \n\
ldq $31, 192($19) ldq $31, 192($19) \n\
ldq $31, 192($20) ldq $31, 192($20) \n\
.align 4 .align 4 \n\
4: 4: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,0($19) ldq $2,0($19) \n\
ldq $3,0($20) ldq $3,0($20) \n\
\n\
ldq $4,8($17) ldq $4,8($17) \n\
ldq $5,8($18) ldq $5,8($18) \n\
ldq $6,8($19) ldq $6,8($19) \n\
ldq $7,8($20) ldq $7,8($20) \n\
\n\
ldq $21,16($17) ldq $21,16($17) \n\
ldq $22,16($18) ldq $22,16($18) \n\
ldq $23,16($19) ldq $23,16($19) \n\
ldq $24,16($20) ldq $24,16($20) \n\
\n\
ldq $25,24($17) ldq $25,24($17) \n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
ldq $27,24($18) ldq $27,24($18) \n\
xor $2,$3,$3 # 6 cycles from $3 load xor $2,$3,$3 # 6 cycles from $3 load \n\
\n\
ldq $0,24($19) ldq $0,24($19) \n\
xor $1,$3,$3 xor $1,$3,$3 \n\
ldq $1,24($20) ldq $1,24($20) \n\
xor $4,$5,$5 # 7 cycles from $5 load xor $4,$5,$5 # 7 cycles from $5 load \n\
\n\
stq $3,0($17) stq $3,0($17) \n\
xor $6,$7,$7 xor $6,$7,$7 \n\
xor $21,$22,$22 # 7 cycles from $22 load xor $21,$22,$22 # 7 cycles from $22 load \n\
xor $5,$7,$7 xor $5,$7,$7 \n\
\n\
stq $7,8($17) stq $7,8($17) \n\
xor $23,$24,$24 # 7 cycles from $24 load xor $23,$24,$24 # 7 cycles from $24 load \n\
ldq $2,32($17) ldq $2,32($17) \n\
xor $22,$24,$24 xor $22,$24,$24 \n\
\n\
ldq $3,32($18) ldq $3,32($18) \n\
ldq $4,32($19) ldq $4,32($19) \n\
ldq $5,32($20) ldq $5,32($20) \n\
xor $25,$27,$27 # 8 cycles from $27 load xor $25,$27,$27 # 8 cycles from $27 load \n\
\n\
ldq $6,40($17) ldq $6,40($17) \n\
ldq $7,40($18) ldq $7,40($18) \n\
ldq $21,40($19) ldq $21,40($19) \n\
ldq $22,40($20) ldq $22,40($20) \n\
\n\
stq $24,16($17) stq $24,16($17) \n\
xor $0,$1,$1 # 9 cycles from $1 load xor $0,$1,$1 # 9 cycles from $1 load \n\
xor $2,$3,$3 # 5 cycles from $3 load xor $2,$3,$3 # 5 cycles from $3 load \n\
xor $27,$1,$1 xor $27,$1,$1 \n\
\n\
stq $1,24($17) stq $1,24($17) \n\
xor $4,$5,$5 # 5 cycles from $5 load xor $4,$5,$5 # 5 cycles from $5 load \n\
ldq $23,48($17) ldq $23,48($17) \n\
xor $3,$5,$5 xor $3,$5,$5 \n\
\n\
ldq $24,48($18) ldq $24,48($18) \n\
ldq $25,48($19) ldq $25,48($19) \n\
ldq $27,48($20) ldq $27,48($20) \n\
ldq $0,56($17) ldq $0,56($17) \n\
\n\
ldq $1,56($18) ldq $1,56($18) \n\
ldq $2,56($19) ldq $2,56($19) \n\
ldq $3,56($20) ldq $3,56($20) \n\
xor $6,$7,$7 # 8 cycles from $6 load xor $6,$7,$7 # 8 cycles from $6 load \n\
\n\
ldq $31,256($17) ldq $31,256($17) \n\
xor $21,$22,$22 # 8 cycles from $22 load xor $21,$22,$22 # 8 cycles from $22 load \n\
ldq $31,256($18) ldq $31,256($18) \n\
xor $7,$22,$22 xor $7,$22,$22 \n\
\n\
ldq $31,256($19) ldq $31,256($19) \n\
xor $23,$24,$24 # 6 cycles from $24 load xor $23,$24,$24 # 6 cycles from $24 load \n\
ldq $31,256($20) ldq $31,256($20) \n\
xor $25,$27,$27 # 6 cycles from $27 load xor $25,$27,$27 # 6 cycles from $27 load \n\
\n\
stq $5,32($17) stq $5,32($17) \n\
xor $24,$27,$27 xor $24,$27,$27 \n\
xor $0,$1,$1 # 7 cycles from $1 load xor $0,$1,$1 # 7 cycles from $1 load \n\
xor $2,$3,$3 # 6 cycles from $3 load xor $2,$3,$3 # 6 cycles from $3 load \n\
\n\
stq $22,40($17) stq $22,40($17) \n\
xor $1,$3,$3 xor $1,$3,$3 \n\
stq $27,48($17) stq $27,48($17) \n\
subq $16,1,$16 subq $16,1,$16 \n\
\n\
stq $3,56($17) stq $3,56($17) \n\
addq $20,64,$20 addq $20,64,$20 \n\
addq $19,64,$19 addq $19,64,$19 \n\
addq $18,64,$18 addq $18,64,$18 \n\
\n\
addq $17,64,$17 addq $17,64,$17 \n\
bgt $16,4b bgt $16,4b \n\
ret ret \n\
.end xor_alpha_prefetch_4 .end xor_alpha_prefetch_4 \n\
\n\
.align 3 .align 3 \n\
.ent xor_alpha_prefetch_5 .ent xor_alpha_prefetch_5 \n\
xor_alpha_prefetch_5: xor_alpha_prefetch_5: \n\
.prologue 0 .prologue 0 \n\
srl $16, 6, $16 srl $16, 6, $16 \n\
\n\
ldq $31, 0($17) ldq $31, 0($17) \n\
ldq $31, 0($18) ldq $31, 0($18) \n\
ldq $31, 0($19) ldq $31, 0($19) \n\
ldq $31, 0($20) ldq $31, 0($20) \n\
ldq $31, 0($21) ldq $31, 0($21) \n\
\n\
ldq $31, 64($17) ldq $31, 64($17) \n\
ldq $31, 64($18) ldq $31, 64($18) \n\
ldq $31, 64($19) ldq $31, 64($19) \n\
ldq $31, 64($20) ldq $31, 64($20) \n\
ldq $31, 64($21) ldq $31, 64($21) \n\
\n\
ldq $31, 128($17) ldq $31, 128($17) \n\
ldq $31, 128($18) ldq $31, 128($18) \n\
ldq $31, 128($19) ldq $31, 128($19) \n\
ldq $31, 128($20) ldq $31, 128($20) \n\
ldq $31, 128($21) ldq $31, 128($21) \n\
\n\
ldq $31, 192($17) ldq $31, 192($17) \n\
ldq $31, 192($18) ldq $31, 192($18) \n\
ldq $31, 192($19) ldq $31, 192($19) \n\
ldq $31, 192($20) ldq $31, 192($20) \n\
ldq $31, 192($21) ldq $31, 192($21) \n\
.align 4 .align 4 \n\
5: 5: \n\
ldq $0,0($17) ldq $0,0($17) \n\
ldq $1,0($18) ldq $1,0($18) \n\
ldq $2,0($19) ldq $2,0($19) \n\
ldq $3,0($20) ldq $3,0($20) \n\
\n\
ldq $4,0($21) ldq $4,0($21) \n\
ldq $5,8($17) ldq $5,8($17) \n\
ldq $6,8($18) ldq $6,8($18) \n\
ldq $7,8($19) ldq $7,8($19) \n\
\n\
ldq $22,8($20) ldq $22,8($20) \n\
ldq $23,8($21) ldq $23,8($21) \n\
ldq $24,16($17) ldq $24,16($17) \n\
ldq $25,16($18) ldq $25,16($18) \n\
\n\
ldq $27,16($19) ldq $27,16($19) \n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
ldq $28,16($20) ldq $28,16($20) \n\
xor $2,$3,$3 # 6 cycles from $3 load xor $2,$3,$3 # 6 cycles from $3 load \n\
\n\
ldq $0,16($21) ldq $0,16($21) \n\
xor $1,$3,$3 xor $1,$3,$3 \n\
ldq $1,24($17) ldq $1,24($17) \n\
xor $3,$4,$4 # 7 cycles from $4 load xor $3,$4,$4 # 7 cycles from $4 load \n\
\n\
stq $4,0($17) stq $4,0($17) \n\
xor $5,$6,$6 # 7 cycles from $6 load xor $5,$6,$6 # 7 cycles from $6 load \n\
xor $7,$22,$22 # 7 cycles from $22 load xor $7,$22,$22 # 7 cycles from $22 load \n\
xor $6,$23,$23 # 7 cycles from $23 load xor $6,$23,$23 # 7 cycles from $23 load \n\
\n\
ldq $2,24($18) ldq $2,24($18) \n\
xor $22,$23,$23 xor $22,$23,$23 \n\
ldq $3,24($19) ldq $3,24($19) \n\
xor $24,$25,$25 # 8 cycles from $25 load xor $24,$25,$25 # 8 cycles from $25 load \n\
\n\
stq $23,8($17) stq $23,8($17) \n\
xor $25,$27,$27 # 8 cycles from $27 load xor $25,$27,$27 # 8 cycles from $27 load \n\
ldq $4,24($20) ldq $4,24($20) \n\
xor $28,$0,$0 # 7 cycles from $0 load xor $28,$0,$0 # 7 cycles from $0 load \n\
\n\
ldq $5,24($21) ldq $5,24($21) \n\
xor $27,$0,$0 xor $27,$0,$0 \n\
ldq $6,32($17) ldq $6,32($17) \n\
ldq $7,32($18) ldq $7,32($18) \n\
\n\
stq $0,16($17) stq $0,16($17) \n\
xor $1,$2,$2 # 6 cycles from $2 load xor $1,$2,$2 # 6 cycles from $2 load \n\
ldq $22,32($19) ldq $22,32($19) \n\
xor $3,$4,$4 # 4 cycles from $4 load xor $3,$4,$4 # 4 cycles from $4 load \n\
\n\
ldq $23,32($20) ldq $23,32($20) \n\
xor $2,$4,$4 xor $2,$4,$4 \n\
ldq $24,32($21) ldq $24,32($21) \n\
ldq $25,40($17) ldq $25,40($17) \n\
\n\
ldq $27,40($18) ldq $27,40($18) \n\
ldq $28,40($19) ldq $28,40($19) \n\
ldq $0,40($20) ldq $0,40($20) \n\
xor $4,$5,$5 # 7 cycles from $5 load xor $4,$5,$5 # 7 cycles from $5 load \n\
\n\
stq $5,24($17) stq $5,24($17) \n\
xor $6,$7,$7 # 7 cycles from $7 load xor $6,$7,$7 # 7 cycles from $7 load \n\
ldq $1,40($21) ldq $1,40($21) \n\
ldq $2,48($17) ldq $2,48($17) \n\
\n\
ldq $3,48($18) ldq $3,48($18) \n\
xor $7,$22,$22 # 7 cycles from $22 load xor $7,$22,$22 # 7 cycles from $22 load \n\
ldq $4,48($19) ldq $4,48($19) \n\
xor $23,$24,$24 # 6 cycles from $24 load xor $23,$24,$24 # 6 cycles from $24 load \n\
\n\
ldq $5,48($20) ldq $5,48($20) \n\
xor $22,$24,$24 xor $22,$24,$24 \n\
ldq $6,48($21) ldq $6,48($21) \n\
xor $25,$27,$27 # 7 cycles from $27 load xor $25,$27,$27 # 7 cycles from $27 load \n\
\n\
stq $24,32($17) stq $24,32($17) \n\
xor $27,$28,$28 # 8 cycles from $28 load xor $27,$28,$28 # 8 cycles from $28 load \n\
ldq $7,56($17) ldq $7,56($17) \n\
xor $0,$1,$1 # 6 cycles from $1 load xor $0,$1,$1 # 6 cycles from $1 load \n\
\n\
ldq $22,56($18) ldq $22,56($18) \n\
ldq $23,56($19) ldq $23,56($19) \n\
ldq $24,56($20) ldq $24,56($20) \n\
ldq $25,56($21) ldq $25,56($21) \n\
\n\
ldq $31,256($17) ldq $31,256($17) \n\
xor $28,$1,$1 xor $28,$1,$1 \n\
ldq $31,256($18) ldq $31,256($18) \n\
xor $2,$3,$3 # 9 cycles from $3 load xor $2,$3,$3 # 9 cycles from $3 load \n\
\n\
ldq $31,256($19) ldq $31,256($19) \n\
xor $3,$4,$4 # 9 cycles from $4 load xor $3,$4,$4 # 9 cycles from $4 load \n\
ldq $31,256($20) ldq $31,256($20) \n\
xor $5,$6,$6 # 8 cycles from $6 load xor $5,$6,$6 # 8 cycles from $6 load \n\
\n\
stq $1,40($17) stq $1,40($17) \n\
xor $4,$6,$6 xor $4,$6,$6 \n\
xor $7,$22,$22 # 7 cycles from $22 load xor $7,$22,$22 # 7 cycles from $22 load \n\
xor $23,$24,$24 # 6 cycles from $24 load xor $23,$24,$24 # 6 cycles from $24 load \n\
\n\
stq $6,48($17) stq $6,48($17) \n\
xor $22,$24,$24 xor $22,$24,$24 \n\
ldq $31,256($21) ldq $31,256($21) \n\
xor $24,$25,$25 # 8 cycles from $25 load xor $24,$25,$25 # 8 cycles from $25 load \n\
\n\
stq $25,56($17) stq $25,56($17) \n\
subq $16,1,$16 subq $16,1,$16 \n\
addq $21,64,$21 addq $21,64,$21 \n\
addq $20,64,$20 addq $20,64,$20 \n\
\n\
addq $19,64,$19 addq $19,64,$19 \n\
addq $18,64,$18 addq $18,64,$18 \n\
addq $17,64,$17 addq $17,64,$17 \n\
bgt $16,5b bgt $16,5b \n\
\n\
ret ret \n\
.end xor_alpha_prefetch_5 .end xor_alpha_prefetch_5 \n\
"); ");
static struct xor_block_template xor_block_alpha = { static struct xor_block_template xor_block_alpha = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment