aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch
diff options
context:
space:
mode:
authordietmar.hahn@fujitsu-siemens.com <dietmar.hahn@fujitsu-siemens.com>2008-11-18 10:55:51 +0100
committerdietmar.hahn@fujitsu-siemens.com <dietmar.hahn@fujitsu-siemens.com>2008-11-18 10:55:51 +0100
commit6e3fe157f023a9163a3fb33930a5d9ccc8b7d6ac (patch)
tree1e67711ee02cdc30a0bb9eedc029aa35c6b3ca53 /extras/mini-os/arch
parent21b91e54b15e7bc37cf0581e2e43d6d32bf8d662 (diff)
downloadxen-6e3fe157f023a9163a3fb33930a5d9ccc8b7d6ac.tar.gz
xen-6e3fe157f023a9163a3fb33930a5d9ccc8b7d6ac.tar.bz2
xen-6e3fe157f023a9163a3fb33930a5d9ccc8b7d6ac.zip
[IA64] Remove the useless big endian stuff.
This patch removes all the useless big endian stuff from the mini-os. Before there was an effort to support big endian for PV-guest. But the big endian support was never gotten into the common parts of the mini-os so it makes no sense to have this only in the ia64 specific sources. And as there is no open source big endian os and porting our BS2000 os to ia64 was stopped, nobody wants that stuff in the common minos. So this looks ugly then and remove the big endian stuff. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
Diffstat (limited to 'extras/mini-os/arch')
-rw-r--r--extras/mini-os/arch/ia64/arch.mk11
-rw-r--r--extras/mini-os/arch/ia64/common.c60
-rw-r--r--extras/mini-os/arch/ia64/debug.c11
-rw-r--r--extras/mini-os/arch/ia64/efi.c75
-rw-r--r--extras/mini-os/arch/ia64/fw.S41
-rw-r--r--extras/mini-os/arch/ia64/ia64.S4
-rw-r--r--extras/mini-os/arch/ia64/ivt.S98
-rw-r--r--extras/mini-os/arch/ia64/mm.c2
-rw-r--r--extras/mini-os/arch/ia64/sal.c10
-rw-r--r--extras/mini-os/arch/ia64/time.c14
-rw-r--r--extras/mini-os/arch/ia64/xencomm.c17
11 files changed, 73 insertions, 270 deletions
diff --git a/extras/mini-os/arch/ia64/arch.mk b/extras/mini-os/arch/ia64/arch.mk
index 12168713ee..e6a17d3eb7 100644
--- a/extras/mini-os/arch/ia64/arch.mk
+++ b/extras/mini-os/arch/ia64/arch.mk
@@ -1,5 +1,3 @@
-# Build for Big Endian?
-BIGENDIAN ?= n
ARCH_CFLAGS := -mfixed-range=f2-f5,f12-f15,f32-f127 -mconstant-gp
ARCH_CFLAGS += -O2
@@ -9,12 +7,3 @@ ARCH_ASFLAGS += -fno-builtin -fno-common -fno-strict-aliasing -mconstant-gp
ARCH_LDFLAGS = -warn-common
-# Next lines are for big endian code !
-ifeq ($(BIGENDIAN),y)
-ARCH_CFLAGS += -mbig-endian -Wa,-mbe -Wa,-mlp64
-ARCH_CFLAGS += -DBIG_ENDIAN
-ARCH_ASFLAGS += -Wa,-mbe
-ARCH_ASFLAGS += -DBIG_ENDIAN
-ARCH_LDFLAGS = -EB -d
-endif
-
diff --git a/extras/mini-os/arch/ia64/common.c b/extras/mini-os/arch/ia64/common.c
index c65f0a0d07..45b770326c 100644
--- a/extras/mini-os/arch/ia64/common.c
+++ b/extras/mini-os/arch/ia64/common.c
@@ -116,8 +116,8 @@ registerCallback(void)
{
struct callback_register event =
{
- .type = SWAP(CALLBACKTYPE_event),
- .address = SWAP((unsigned long)&hypervisor_callback),
+ .type = CALLBACKTYPE_event,
+ .address = (unsigned long)&hypervisor_callback,
};
HYPERVISOR_callback_op(CALLBACKOP_register, &event);
}
@@ -126,46 +126,44 @@ static void
init_start_info(start_info_t* xen_start_info)
{
/* Make a copy of the start_info structure */
- start_info.nr_pages = SWAP(xen_start_info->nr_pages);
- start_info.shared_info = SWAP(xen_start_info->shared_info);
- start_info.flags = SWAP(xen_start_info->flags);
- start_info.store_mfn = SWAP(xen_start_info->store_mfn);
- start_info.store_evtchn = SWAP(xen_start_info->store_evtchn);
- start_info.console.domU.mfn = SWAP(xen_start_info->console.domU.mfn);
+ start_info.nr_pages = xen_start_info->nr_pages;
+ start_info.shared_info = xen_start_info->shared_info;
+ start_info.flags = xen_start_info->flags;
+ start_info.store_mfn = xen_start_info->store_mfn;
+ start_info.store_evtchn = xen_start_info->store_evtchn;
+ start_info.console.domU.mfn = xen_start_info->console.domU.mfn;
start_info.console.domU.evtchn =
- SWAP(xen_start_info->console.domU.evtchn);
- start_info.pt_base = SWAP(xen_start_info->pt_base);
- start_info.nr_pt_frames = SWAP(xen_start_info->nr_pt_frames);
- start_info.mfn_list = SWAP(xen_start_info->mfn_list);
- start_info.mod_start = SWAP(xen_start_info->mod_start);
- start_info.mod_len = SWAP(xen_start_info->mod_len);
+ xen_start_info->console.domU.evtchn;
+ start_info.pt_base = xen_start_info->pt_base;
+ start_info.nr_pt_frames = xen_start_info->nr_pt_frames;
+ start_info.mfn_list = xen_start_info->mfn_list;
+ start_info.mod_start = xen_start_info->mod_start;
+ start_info.mod_len = xen_start_info->mod_len;
}
static void
init_boot_params(void)
{
- ia64BootParamG.command_line = SWAP(ia64_boot_paramP->command_line);
- ia64BootParamG.efi_systab = SWAP(ia64_boot_paramP->efi_systab);
- ia64BootParamG.efi_memmap = SWAP(ia64_boot_paramP->efi_memmap);
- ia64BootParamG.efi_memmap_size =
- SWAP(ia64_boot_paramP->efi_memmap_size);
- ia64BootParamG.efi_memdesc_size =
- SWAP(ia64_boot_paramP->efi_memdesc_size);
+ ia64BootParamG.command_line = ia64_boot_paramP->command_line;
+ ia64BootParamG.efi_systab = ia64_boot_paramP->efi_systab;
+ ia64BootParamG.efi_memmap = ia64_boot_paramP->efi_memmap;
+ ia64BootParamG.efi_memmap_size = ia64_boot_paramP->efi_memmap_size;
+ ia64BootParamG.efi_memdesc_size = ia64_boot_paramP->efi_memdesc_size;
ia64BootParamG.efi_memdesc_version =
- SWAP(ia64_boot_paramP->efi_memdesc_version);
+ ia64_boot_paramP->efi_memdesc_version;
ia64BootParamG.console_info.num_cols =
- SWAP(ia64_boot_paramP->console_info.num_cols);
+ ia64_boot_paramP->console_info.num_cols;
ia64BootParamG.console_info.num_rows =
- SWAP(ia64_boot_paramP->console_info.num_rows);
+ ia64_boot_paramP->console_info.num_rows;
ia64BootParamG.console_info.orig_x =
- SWAP(ia64_boot_paramP->console_info.orig_x);
+ ia64_boot_paramP->console_info.orig_x;
ia64BootParamG.console_info.orig_y =
- SWAP(ia64_boot_paramP->console_info.orig_y);
- ia64BootParamG.fpswa = SWAP(ia64_boot_paramP->fpswa);
- ia64BootParamG.initrd_start = SWAP(ia64_boot_paramP->initrd_start);
- ia64BootParamG.initrd_size = SWAP(ia64_boot_paramP->initrd_size);
- ia64BootParamG.domain_start = SWAP(ia64_boot_paramP->domain_start);
- ia64BootParamG.domain_size = SWAP(ia64_boot_paramP->domain_size);
+ ia64_boot_paramP->console_info.orig_y;
+ ia64BootParamG.fpswa = ia64_boot_paramP->fpswa;
+ ia64BootParamG.initrd_start = ia64_boot_paramP->initrd_start;
+ ia64BootParamG.initrd_size = ia64_boot_paramP->initrd_size;
+ ia64BootParamG.domain_start = ia64_boot_paramP->domain_start;
+ ia64BootParamG.domain_size = ia64_boot_paramP->domain_size;
/*
* Copy and parse the boot command line.
diff --git a/extras/mini-os/arch/ia64/debug.c b/extras/mini-os/arch/ia64/debug.c
index d95252b4c3..f5b378381f 100644
--- a/extras/mini-os/arch/ia64/debug.c
+++ b/extras/mini-os/arch/ia64/debug.c
@@ -102,7 +102,6 @@ static const char *ia64_vector_names[] = {
typedef struct
{
-#if !defined(BIG_ENDIAN)
uint64_t sof :7; /* 0-6 size of frame */
uint64_t sol :7; /* 7-13 size of locals (in + loc) */
uint64_t sor :4;
@@ -111,16 +110,6 @@ typedef struct
uint64_t rrb_pr :6;
uint64_t res :25; /* reserved */
uint64_t v :1; /* The v bit */
-#else /* !BIG_ENDIAN */
- uint64_t v :1; /* The v bit */
- uint64_t res :25; /* reserved */
- uint64_t rrb_pr :6;
- uint64_t rrb_fr :7;
- uint64_t rrb_gr :7;
- uint64_t sor :4;
- uint64_t sol :7; /* 7-13 size of locals (in + loc) */
- uint64_t sof :7; /* 0-6 size of frame */
-#endif /* BIG_ENDIAN */
} ifs_t;
void
diff --git a/extras/mini-os/arch/ia64/efi.c b/extras/mini-os/arch/ia64/efi.c
index 498eac42ad..cdb25b33ec 100644
--- a/extras/mini-os/arch/ia64/efi.c
+++ b/extras/mini-os/arch/ia64/efi.c
@@ -49,13 +49,6 @@ efi_get_time(efi_time_t* tmP)
printk("efi.getTime() failed\n");
return 0;
}
-
-#if defined(BIG_ENDIAN)
- tmP->Year = SWAP(tmP->Year);
- tmP->TimeZone = SWAP(tmP->TimeZone);
- tmP->Nanosecond = SWAP(tmP->Nanosecond);
-#endif
-
return 1;
}
@@ -65,17 +58,7 @@ efi_get_time(efi_time_t* tmP)
static int
efi_guid_cmp(efi_guid_t* a_le, efi_guid_t* b)
{
-#if defined(BIG_ENDIAN)
- if(SWAP(a_le->Data1) != b->Data1)
- return 1;
- if(SWAP(a_le->Data2) != b->Data2)
- return 1;
- if(SWAP(a_le->Data3) != b->Data3)
- return 1;
- return memcmp(a_le->Data4, b->Data4, sizeof(uint8_t)*8);
-#else
return memcmp(a_le, b, sizeof(efi_guid_t));
-#endif
}
void
@@ -99,20 +82,20 @@ init_efi(void)
efiSysTableP = (efi_system_table_t*)__va(ia64BootParamG.efi_systab);
machineFwG.efi.efiSysTableP = efiSysTableP;
PRINT_BV("EfiSystemTable at: %p\n", efiSysTableP);
- fwP = (uint16_t*) __va(SWAP(efiSysTableP->FirmwareVendor));
+ fwP = (uint16_t*) __va(efiSysTableP->FirmwareVendor);
if (fwP) {
for (i = 0; i < (int)sizeof(fwVendor) - 1 && *fwP; ++i)
- fwVendor[i] = SWAP(*fwP++);
+ fwVendor[i] = *fwP++;
fwVendor[i] = '\0';
}
PRINT_BV(" EFI-FirmwareVendor : %s\n", fwVendor);
PRINT_BV(" EFI-FirmwareRevision : %d\n",
- SWAP(efiSysTableP->FirmwareRevision));
+ efiSysTableP->FirmwareRevision);
PRINT_BV(" EFI-SystemTable-Revision : %d.%d\n",
- SWAP(efiSysTableP->Hdr.Revision)>>16,
- SWAP(efiSysTableP->Hdr.Revision)&0xffff);
+ efiSysTableP->Hdr.Revision >> 16,
+ efiSysTableP->Hdr.Revision & 0xffff);
rsP = (efi_runtime_services_t*)
- __va(SWAP(efiSysTableP->RuntimeServices));
+ __va(efiSysTableP->RuntimeServices);
mdcnt = ia64BootParamG.efi_memmap_size /
ia64BootParamG.efi_memdesc_size;
memdP = (efi_memory_descriptor_t*) __va(ia64BootParamG.efi_memmap);
@@ -123,10 +106,10 @@ init_efi(void)
mdP = NextMemoryDescriptor(mdP, ia64BootParamG.efi_memdesc_size)) {
/* Relocate runtime memory segments for firmware. */
PRINT_BV(" %d. Type: %x Attributes: 0x%lx\n",
- i, SWAP(mdP->Type), SWAP(mdP->Attribute));
+ i, mdP->Type, mdP->Attribute);
PRINT_BV(" PhysStart: 0x%lx NumPages: 0x%lx\n",
- SWAP(mdP->PhysicalStart), SWAP(mdP->NumberOfPages));
- switch (SWAP(mdP->Type)) {
+ mdP->PhysicalStart, mdP->NumberOfPages);
+ switch (mdP->Type) {
case EfiRuntimeServicesData:
PRINT_BV(" -> EfiRuntimeServicesData\n");
break;
@@ -139,18 +122,17 @@ init_efi(void)
case EfiConventionalMemory:
PRINT_BV(" -> EfiConventionalMemory\n");
PRINT_BV(" start: 0x%lx end: 0x%lx\n",
- SWAP(mdP->PhysicalStart),
- SWAP(mdP->PhysicalStart)+
- SWAP(mdP->NumberOfPages)*EFI_PAGE_SIZE);
+ mdP->PhysicalStart,
+ mdP->PhysicalStart +
+ mdP->NumberOfPages * EFI_PAGE_SIZE);
if (numConvMem) {
printk(" Currently only one efi "
"memory chunk supported !!!\n");
break;
}
- machineFwG.mach_mem_start =
- SWAP(mdP->PhysicalStart);
+ machineFwG.mach_mem_start = mdP->PhysicalStart;
machineFwG.mach_mem_size =
- SWAP(mdP->NumberOfPages)*EFI_PAGE_SIZE;
+ mdP->NumberOfPages * EFI_PAGE_SIZE;
numConvMem++;
break;
case EfiMemoryMappedIOPortSpace:
@@ -158,7 +140,7 @@ init_efi(void)
break;
case EfiPalCode:
machineFwG.ia64_pal_base =
- __va(SWAP(mdP->PhysicalStart));
+ __va(mdP->PhysicalStart);
PRINT_BV(" -> EfiPalCode\n"
" start : %p\n",
machineFwG.ia64_pal_base);
@@ -170,12 +152,11 @@ init_efi(void)
* virtual addressing and the efi runtime functions
* may be called directly.
*/
- if (SWAP(mdP->Attribute) & EFI_MEMORY_RUNTIME) {
- if (SWAP(mdP->Attribute) & EFI_MEMORY_WB)
- mdP->VirtualStart =
- SWAP(__va(mdP->PhysicalStart));
+ if (mdP->Attribute & EFI_MEMORY_RUNTIME) {
+ if (mdP->Attribute & EFI_MEMORY_WB)
+ mdP->VirtualStart = __va(mdP->PhysicalStart);
else {
- if (SWAP(mdP->Attribute) & EFI_MEMORY_UC)
+ if (mdP->Attribute & EFI_MEMORY_UC)
printk("efi_init: RuntimeMemory with "
"UC attribute !!!!!!\n");
/*
@@ -187,7 +168,7 @@ init_efi(void)
}
/* Now switch efi runtime stuff to virtual addressing. */
status = ia64_call_efi_physical(
- (void*)__va(SWAP((uint64_t)rsP->SetVirtualAddressMap)),
+ (void*)__va((uint64_t)rsP->SetVirtualAddressMap),
ia64BootParamG.efi_memmap_size,
ia64BootParamG.efi_memdesc_size,
ia64BootParamG.efi_memdesc_version,
@@ -200,35 +181,35 @@ init_efi(void)
}
/* Getting efi function pointer for getEfiTime. */
machineFwG.efi.getTimeF =
- (efi_get_time_t)__va(SWAP((uint64_t)rsP->GetTime));
+ (efi_get_time_t)__va((uint64_t)rsP->GetTime);
/* Getting efi function pointer for resetSystem. */
machineFwG.efi.resetSystemF =
- (efi_reset_system_t)__va(SWAP((uint64_t)rsP->ResetSystem));
+ (efi_reset_system_t)__va((uint64_t)rsP->ResetSystem);
/* Scanning the Configuration table of the EfiSystemTable. */
PRINT_BV("NumberOfConfigTableEntries: %ld\n",
- SWAP(efiSysTableP->NumberOfTableEntries));
+ efiSysTableP->NumberOfTableEntries);
confP = (efi_configuration_table_t*)
- __va(SWAP(efiSysTableP->ConfigurationTable));
- for (i = 0; i < SWAP(efiSysTableP->NumberOfTableEntries); i++) {
+ __va(efiSysTableP->ConfigurationTable);
+ for (i = 0; i < efiSysTableP->NumberOfTableEntries; i++) {
if (!efi_guid_cmp(&confP[i].VendorGuid, &sal)) {
machineFwG.ia64_sal_tableP = (sal_system_table_t*)
- __va(SWAP((uint64_t) confP[i].VendorTable));
+ __va((uint64_t) confP[i].VendorTable);
PRINT_BV(" Found SalSystemTable at: 0x%lx\n",
(uint64_t) machineFwG.ia64_sal_tableP);
continue;
}
if (!efi_guid_cmp(&confP[i].VendorGuid, &acpi)) {
machineFwG.ia64_efi_acpi_table =
- __va(SWAP((uint64_t) confP[i].VendorTable));
+ __va((uint64_t) confP[i].VendorTable);
PRINT_BV(" Found AcpiTable at: 0x%lx\n",
(uint64_t) machineFwG.ia64_efi_acpi_table);
continue;
}
if (!efi_guid_cmp(&confP[i].VendorGuid, &acpi20)) {
machineFwG.ia64_efi_acpi20_table =
- __va(SWAP((uint64_t) confP[i].VendorTable));
+ __va((uint64_t) confP[i].VendorTable);
PRINT_BV(" Found Acpi20Table at: 0x%lx\n",
(uint64_t) machineFwG.ia64_efi_acpi20_table);
continue;
diff --git a/extras/mini-os/arch/ia64/fw.S b/extras/mini-os/arch/ia64/fw.S
index 48bb851e5d..ef2c4d2d2f 100644
--- a/extras/mini-os/arch/ia64/fw.S
+++ b/extras/mini-os/arch/ia64/fw.S
@@ -155,11 +155,6 @@ ENTRY(ia64_call_efi_physical)
ld8 r14=[in0],8 // function address
;;
ld8 gp=[in0] // function gp value
-#if defined(BIG_ENDIAN)
- mux1 r14=r14,@rev // swap because mini-os is in BE
- mov ar.rsc=3
- ;;
-#endif
mov out0=in1
mov out1=in2
mov out2=in3
@@ -167,19 +162,7 @@ ENTRY(ia64_call_efi_physical)
mov out4=in5
mov b6=r14
;;
-#if defined(BIG_ENDIAN)
- mux1 gp=gp,@rev // swap because mini-os is in BE
- rum IA64_PSR_BE
- ;;
-#endif
-
br.call.sptk.many rp=b6 // call EFI procedure
-
-#if defined(BIG_ENDIAN)
- ;;
- sum IA64_PSR_BE
- mov ar.rsc=IA64_RSE_EAGER
-#endif
mov gp=loc3 // restore kernel gp
mov r14=loc2 // psr to restore mode
;;
@@ -227,16 +210,8 @@ psrsave = loc4
mov b0=palret
rsm psr.i // disable interrupts
;;
-#if defined(BIG_ENDIAN)
- rum IA64_PSR_BE // set psr.be==0
- ;;
-#endif
br.cond.sptk b6 // call into firmware
;;
-#if defined(BIG_ENDIAN)
- sum IA64_PSR_BE // set psr.be==1
- ;;
-#endif
ssm psr.i // enable interrupts
;;
2: mov psr.l=psrsave
@@ -271,25 +246,9 @@ ENTRY(ia64_call_efi_func)
;;
ld8 gp=[in0] // function gp value
;;
-#if defined(BIG_ENDIAN)
- mux1 r14=r14,@rev // swap if mini-os is in BE
- mux1 gp=gp,@rev // swap if mini-os is in BE
-#endif
- ;;
mov b6=r14
-
-#if defined(BIG_ENDIAN)
- rum IA64_PSR_BE
- ;;
-#endif
-
br.call.sptk.many rp=b6 // call EFI procedure
-#if defined(BIG_ENDIAN)
- sum IA64_PSR_BE
- ;;
-#endif
-
mov ar.pfs=loc0
mov gp=loc1
mov rp=loc2
diff --git a/extras/mini-os/arch/ia64/ia64.S b/extras/mini-os/arch/ia64/ia64.S
index 7ea9433199..adcf1769a2 100644
--- a/extras/mini-os/arch/ia64/ia64.S
+++ b/extras/mini-os/arch/ia64/ia64.S
@@ -205,10 +205,6 @@ ENTRY(_start)
START_INFO_PFN_ld r14=[r15] // load the start_info_pfn
add r16=7, r0
;;
-#if defined(BIG_ENDIAN)
- mux1 r14=r14,@rev // swap because mini-os is in BE
-#endif
- ;;
shl r15=r14,PAGE_SHIFT_XEN_16K // pfn << PAGE_SHIFT_XEN_16K
shl r16=r16,IA64_RR_IDX_POS // (7<<IA64_RR_IDX_POS)
;;
diff --git a/extras/mini-os/arch/ia64/ivt.S b/extras/mini-os/arch/ia64/ivt.S
index 79971fef34..8971b3bee9 100644
--- a/extras/mini-os/arch/ia64/ivt.S
+++ b/extras/mini-os/arch/ia64/ivt.S
@@ -87,11 +87,6 @@ ENTRY(save_tf_rse_switch)
;;
ld8 r21=[r21] // XEN.ipsr
ld8 r22=[r22];; // XEN.iip
-#if defined(BIG_ENDIAN)
- mux1 r21=r21,@rev // swap because mini-os is in BE
- mux1 r22=r22,@rev // swap because mini-os is in BE
- ;;
-#endif
add r19=TF_IPSR,r18
add r20=TF_IIP,r18
;;
@@ -129,10 +124,6 @@ ENTRY(save_tf_rse_switch)
//bsw.1 // switch to bank 1 for saving these registers.
movl r30=XSI_BANKNUM // Switch to bank 1.
mov r31=1;;
-#if defined(BIG_ENDIAN)
- mux1 r31=r31,@rev // swap because mini-os is in BE
- ;;
-#endif
st4 [r30]=r31
;;
/*
@@ -143,38 +134,13 @@ ENTRY(save_tf_rse_switch)
movl r30=XSI_BANK1_R16;
movl r31=XSI_BANK1_R16+8;;
ld8 r16=[r30],16; ld8 r17=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r16=r16,@rev; mux1 r17=r17,@rev;;
-#endif
ld8 r18=[r30],16; ld8 r19=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r18=r18,@rev; mux1 r19=r19,@rev;;
-#endif
ld8 r20=[r30],16; ld8 r21=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r20=r20,@rev; mux1 r21=r21,@rev;;
-#endif
ld8 r22=[r30],16; ld8 r23=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r22=r22,@rev; mux1 r23=r23,@rev;;
-#endif
ld8 r24=[r30],16; ld8 r25=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r24=r24,@rev; mux1 r25=r25,@rev;;
-#endif
ld8 r26=[r30],16; ld8 r27=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r26=r26,@rev; mux1 r27=r27,@rev;;
-#endif
ld8 r28=[r30],16; ld8 r29=[r31],16;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r28=r28,@rev; mux1 r29=r29,@rev;;
-#endif
ld8 r30=[r30]; ld8 r31=[r31];;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r30=r30,@rev; mux1 r31=r31,@rev;;
-#endif
-
add r2=TF_GREG16,r14
add r3=TF_GREG17,r14
;;
@@ -251,10 +217,6 @@ ENTRY(save_tf_rse_switch)
;;
ld8 r21=[r8]
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r21=r21,@rev
- ;;
-#endif
st8 [r19]=r21 // store cr.ifs
dep.z r22=r21,0,38 // copy ifm part from ifs.ifm
;;
@@ -330,12 +292,6 @@ ENTRY(restore_tf_rse_switch)
;;
ld8 r21=[r19] // load cr.ipsr
ld8 r22=[r20] // load cr.iip
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- ;;
- mux1 r21=r21,@rev
- mux1 r22=r22,@rev
- ;;
-#endif
movl r16=XSI_IPSR // XEN !!
;;
st8 [r16]=r21,XSI_IIP_OFS-XSI_IPSR_OFS // XEN.ipsr
@@ -353,9 +309,6 @@ ENTRY(restore_tf_rse_switch)
ld8 r22=[r19] // ndirty
;;
shl r21=r22,16 // value for ar.rsc
- //mov r19=(MOS_IA64_RSC_BE << IA64_RSC_BE)
- ;;
- or r21=(MOS_IA64_RSC_BE << IA64_RSC_BE),r21
;;
mov ar.rsc=r21 // setup for loadrs
;;
@@ -386,10 +339,6 @@ ENTRY(restore_tf_rse_switch)
ld8 r21=[r19] // load ar.pfs
ld8 r22=[r20] // load cr.ifs
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r22=r22,@rev
- ;;
-#endif
add r19=TF_RSC,r18
mov ar.pfs=r21
st8 [r16]=r22 // XEN.ifs
@@ -429,10 +378,6 @@ ENTRY(restore_tf_rse_switch)
// bsw.1
movl r30=XSI_BANKNUM // Switch to bank 1.
mov r31=1;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r31=r31,@rev
- ;;
-#endif
st4 [r30]=r31
;;
add r2=TF_GREG16,r14
@@ -455,51 +400,27 @@ ENTRY(restore_tf_rse_switch)
movl r2=XSI_BANK1_R16
movl r3=XSI_BANK1_R16+8
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r16=r16,@rev; mux1 r17=r17,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r16,16
.mem.offset 8,0; st8.spill [r3]=r17,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r18=r18,@rev; mux1 r19=r19,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r18,16
.mem.offset 8,0; st8.spill [r3]=r19,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r20=r20,@rev; mux1 r21=r21,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r20,16
.mem.offset 8,0; st8.spill [r3]=r21,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r22=r22,@rev; mux1 r23=r23,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r22,16
.mem.offset 8,0; st8.spill [r3]=r23,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r24=r24,@rev; mux1 r25=r25,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r24,16
.mem.offset 8,0; st8.spill [r3]=r25,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r26=r26,@rev; mux1 r27=r27,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r26,16
.mem.offset 8,0; st8.spill [r3]=r27,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r28=r28,@rev; mux1 r29=r29,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r28,16
.mem.offset 8,0; st8.spill [r3]=r29,16
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r30=r30,@rev; mux1 r31=r31,@rev;;
-#endif
.mem.offset 0,0; st8.spill [r2]=r30,16
.mem.offset 8,0; st8.spill [r3]=r31,16
;;
@@ -567,17 +488,11 @@ ENTRY(save_special_regs)
add loc5=TF_IFA,in0
add loc6=TF_ISR,in0
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 loc3=loc3,@rev; mux1 loc4=loc4,@rev;;
-#endif
st8 [loc5]=loc3,TF_IIM-TF_IFA // store cr.ifa
st8 [loc6]=loc4 // store cr.isr
;;
ld8 loc3=[loc1] // load XEN.iim
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 loc3=loc3,@rev;;
-#endif
st8 [loc5]=loc3 // store cr.iim
;;
mov ar.pfs=loc0
@@ -605,9 +520,6 @@ ENTRY(hypervisor_callback)
mov out0=r18 // the trap frame
movl r22=XSI_PSR_IC
mov r23=1;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r23=r23,@rev;;
-#endif
st8 [r22]=r23 // ssm psr.ic
;;
br.call.sptk.few rp = do_hypervisor_callback
@@ -649,9 +561,6 @@ ENTRY(trap_error)
;;
movl r30=XSI_BANKNUM // bsw.1
mov r31=1;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r31=r31,@rev;;
-#endif
st4 [r30]=r31;;
/* Save extra interrupt registers to the trap frame. */
@@ -664,9 +573,6 @@ ENTRY(trap_error)
ld8 r23=[r23]
mov r25=1
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r25=r25,@rev; mux1 r23=r23,@rev;;
-#endif
st4 [r22]=r25 // ssm psr.ic
st1 [r23]=r0 // ssm psr.i
;;
@@ -680,10 +586,6 @@ ENTRY(trap_error)
ld8 r23=[r23]
mov r25=1
;;
-#if defined(BIG_ENDIAN) // swap because mini-os is in BE
- mux1 r25=r25,@rev;;
- mux1 r25=r25,@rev; mux1 r23=r23,@rev;;
-#endif
st1 [r23]=r25
st4 [r22]=r0 // note: clears both vpsr.i and vpsr.ic!
;;
diff --git a/extras/mini-os/arch/ia64/mm.c b/extras/mini-os/arch/ia64/mm.c
index 916e2f610b..189b39addc 100644
--- a/extras/mini-os/arch/ia64/mm.c
+++ b/extras/mini-os/arch/ia64/mm.c
@@ -153,7 +153,7 @@ map_frames_ex(unsigned long* frames, unsigned long n, unsigned long stride,
ASSERT(n == 1 || (stride == 0 && increment == 1));
ASSERT(id == DOMID_SELF);
ASSERT(prot == 0);
- return (void*) __va(SWAP(frames[0]) << PAGE_SHIFT);
+ return (void*) __va(frames[0] << PAGE_SHIFT);
}
void arch_init_p2m(unsigned long max_pfn)
diff --git a/extras/mini-os/arch/ia64/sal.c b/extras/mini-os/arch/ia64/sal.c
index d087053287..286e5be38c 100644
--- a/extras/mini-os/arch/ia64/sal.c
+++ b/extras/mini-os/arch/ia64/sal.c
@@ -76,19 +76,19 @@ ia64_sal_init(struct sal_system_table *saltab)
return;
}
p = (uint8_t *) (saltab + 1);
- for (i = 0; i < SWAP(saltab->sal_entry_count); i++) {
- switch (SWAP(*p)) {
+ for (i = 0; i < saltab->sal_entry_count; i++) {
+ switch (*p) {
case SAL_DESC_ENTRYPOINT: // 0
{
struct sal_entrypoint_descriptor *dp;
dp = (struct sal_entrypoint_descriptor*)p;
ia64_pal_entry =
- IA64_PHYS_TO_RR7(SWAP(dp->sale_pal_proc));
+ IA64_PHYS_TO_RR7(dp->sale_pal_proc);
PRINT_BV(" PAL Proc at 0x%lx\n", ia64_pal_entry);
sal_fdesc.func =
- IA64_PHYS_TO_RR7(SWAP(dp->sale_sal_proc));
- sal_fdesc.gp = IA64_PHYS_TO_RR7(SWAP(dp->sale_sal_gp));
+ IA64_PHYS_TO_RR7(dp->sale_sal_proc);
+ sal_fdesc.gp = IA64_PHYS_TO_RR7(dp->sale_sal_gp);
PRINT_BV(" SAL Proc at 0x%lx, GP at 0x%lx\n",
sal_fdesc.func, sal_fdesc.gp);
ia64_sal_entry = (sal_entry_t *) &sal_fdesc;
diff --git a/extras/mini-os/arch/ia64/time.c b/extras/mini-os/arch/ia64/time.c
index baf9096330..6da27fb4d7 100644
--- a/extras/mini-os/arch/ia64/time.c
+++ b/extras/mini-os/arch/ia64/time.c
@@ -197,15 +197,6 @@ calculate_frequencies(void)
struct ia64_pal_result pal_res;
pal_res = ia64_call_pal_static(PAL_FREQ_RATIOS, 0, 0, 0);
- //sal_res = ia64_sal_call(SAL_FREQ_BASE, 0, 0, 0, 0, 0, 0, 0);
-#if defined(BIG_ENDIAN)
-//#warning calculate_frequencies TODO
- /*
- * I have to do an own function with switching psr.be!
- * Currently it's running because it's a break into the hypervisor
- * behind the call.!
- */
-#endif
sal_res = ia64_sal_entry(SAL_FREQ_BASE, 0, 0, 0, 0, 0, 0, 0);
if (sal_res.sal_status == 0 && pal_res.pal_status == 0) {
@@ -260,9 +251,8 @@ init_time(void)
if (efi_get_time(&tm)) {
printk(" EFI-Time: %d.%d.%d %d:%d:%d\n", tm.Day,
tm.Month, tm.Year, tm.Hour, tm.Minute, tm.Second);
- os_time.tv_sec = _mktime(SWAP(tm.Year), SWAP(tm.Month),
- SWAP(tm.Day), SWAP(tm.Hour),
- SWAP(tm.Minute), SWAP(tm.Second));
+ os_time.tv_sec = _mktime(tm.Year, tm.Month,
+ tm.Day, tm.Hour, tm.Minute, tm.Second);
os_time.tv_nsec = tm.Nanosecond;
} else
printk("efi_get_time() failed\n");
diff --git a/extras/mini-os/arch/ia64/xencomm.c b/extras/mini-os/arch/ia64/xencomm.c
index 9745b8f820..fccfee2f1e 100644
--- a/extras/mini-os/arch/ia64/xencomm.c
+++ b/extras/mini-os/arch/ia64/xencomm.c
@@ -95,7 +95,7 @@ xencomm_init_desc(struct xencomm_desc *desc, void *buffer, unsigned long bytes)
return -EINVAL;
}
- desc->address[i++] = SWAP(paddr);
+ desc->address[i++] = paddr;
recorded += chunksz;
}
if (recorded < bytes) {
@@ -106,8 +106,8 @@ xencomm_init_desc(struct xencomm_desc *desc, void *buffer, unsigned long bytes)
/* mark remaining addresses invalid (just for safety) */
while (i < desc->nr_addrs)
- desc->address[i++] = SWAP(XENCOMM_INVALID);
- desc->magic = SWAP(XENCOMM_MAGIC);
+ desc->address[i++] = XENCOMM_INVALID;
+ desc->magic = XENCOMM_MAGIC;
return 0;
}
@@ -184,15 +184,14 @@ xencommize_mini_grant_table_op(struct xencomm_mini *xc_area, int *nbr_area,
return -EINVAL;
rc = xencomm_create_mini
(xc_area, nbr_area,
- (void*)SWAP((uint64_t)
- xen_guest_handle(setup->frame_list)),
- SWAP(setup->nr_frames)
+ (void*)(uint64_t) xen_guest_handle(setup->frame_list),
+ setup->nr_frames
* sizeof(*xen_guest_handle(setup->frame_list)),
&desc1);
if (rc)
return rc;
set_xen_guest_handle(setup->frame_list,
- (void *)SWAP((uint64_t)desc1));
+ (void *)(uint64_t)desc1);
break;
}
case GNTTABOP_dump_table:
@@ -284,7 +283,7 @@ HYPERVISOR_suspend(unsigned long srec)
{
struct sched_shutdown arg;
- arg.reason = (uint32_t)SWAP((uint32_t)SHUTDOWN_suspend);
+ arg.reason = (uint32_t)SHUTDOWN_suspend;
return xencomm_arch_hypercall_suspend(xencomm_create_inline(&arg));
}
@@ -300,7 +299,7 @@ HYPERVISOR_event_channel_op(int cmd, void *arg)
if (unlikely(rc == -ENOSYS)) {
struct evtchn_op op;
- op.cmd = SWAP(cmd);
+ op.cmd = cmd;
memcpy(&op.u, arg, sizeof(op.u));
rc = _hypercall1(int, event_channel_op_compat, &op);
}