On Tue, Nov 18, 2008 at 10:49:01AM +0100, Dietmar Hahn wrote:
> Hi,
>
> this patch removes all the useless big endian stuff from the minios.
> Thanks.
Hi. IIRC, you are the one who wanted big endian support for PV-guest.
What is the point to remove it from the minios?
> # HG changeset patch
> # User dietmar.hahn@xxxxxxxxxxxxxxxxxxx
> # Date 1227002151 -3600
> # Node ID 56ecdf7c49e7d86caf476da7119a8b19c5496910
> # Parent cf3b9afb8568a18250faf08a0dd7c2b57bc7d3ac
>
> Remove the useless big endian stuff.
>
> Signed-off-by: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
>
> diff -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/arch.mk
> --- a/extras/mini-os/arch/ia64/arch.mk Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/arch.mk Tue Nov 18 10:55:51 2008 +0100
> @@ -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
>
> 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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/common.c
> --- a/extras/mini-os/arch/ia64/common.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/common.c Tue Nov 18 10:55:51 2008 +0100
> @@ -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 @@ init_start_info(start_info_t* xen_start_
> 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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/debug.c
> --- a/extras/mini-os/arch/ia64/debug.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/debug.c Tue Nov 18 10:55:51 2008 +0100
> @@ -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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/efi.c
> --- a/extras/mini-os/arch/ia64/efi.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/efi.c Tue Nov 18 10:55:51 2008 +0100
> @@ -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 @@ static int
> 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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/fw.S
> --- a/extras/mini-os/arch/ia64/fw.S Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/fw.S Tue Nov 18 10:55:51 2008 +0100
> @@ -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 @@ 1: mov palret=ip // for return
> address
> 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,24 +246,8 @@ 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
> diff -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/ia64.S
> --- a/extras/mini-os/arch/ia64/ia64.S Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/ia64.S Tue Nov 18 10:55:51 2008 +0100
> @@ -205,10 +205,6 @@ 1: /* now we are in virtual mode */
> 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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/ivt.S
> --- a/extras/mini-os/arch/ia64/ivt.S Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/ivt.S Tue Nov 18 10:55:51 2008 +0100
> @@ -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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/mm.c
> --- a/extras/mini-os/arch/ia64/mm.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/mm.c Tue Nov 18 10:55:51 2008 +0100
> @@ -153,7 +153,7 @@ map_frames_ex(unsigned long* frames, uns
> 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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/sal.c
> --- a/extras/mini-os/arch/ia64/sal.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/sal.c Tue Nov 18 10:55:51 2008 +0100
> @@ -76,19 +76,19 @@ ia64_sal_init(struct sal_system_table *s
> 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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/time.c
> --- a/extras/mini-os/arch/ia64/time.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/time.c Tue Nov 18 10:55:51 2008 +0100
> @@ -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 -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/arch/ia64/xencomm.c
> --- a/extras/mini-os/arch/ia64/xencomm.c Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/arch/ia64/xencomm.c Tue Nov 18 10:55:51 2008 +0100
> @@ -95,7 +95,7 @@ xencomm_init_desc(struct xencomm_desc *d
> 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 *d
>
> /* 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 xe
> 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, voi
> 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);
> }
> diff -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/include/ia64/atomic.h
> --- a/extras/mini-os/include/ia64/atomic.h Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/include/ia64/atomic.h Tue Nov 18 10:55:51 2008 +0100
> @@ -427,11 +427,10 @@ static inline void
> static inline void
> set_bit(int num, volatile void *addr)
> {
> - uint32_t bit, b, old, new;
> + uint32_t bit, old, new;
> volatile uint32_t *p;
> p = (volatile uint32_t *) addr + (num >> 5);
> - b = 1 << (num & 31);
> - bit = SWAP(b);
> + bit = 1 << (num & 31);
> do
> {
> old = *p;
> @@ -442,11 +441,10 @@ static __inline__ void
> static __inline__ void
> clear_bit(int num, volatile void *addr)
> {
> - uint32_t mask, m, old, new;
> + uint32_t mask, old, new;
> volatile uint32_t *p;
> p = (volatile uint32_t *) addr + (num >> 5);
> - m = ~(1 << (num & 31));
> - mask = SWAP(m);
> + mask = ~(1 << (num & 31));
> do {
> old = *p;
> new = old & mask;
> @@ -456,7 +454,7 @@ static __inline__ int
> static __inline__ int
> test_bit(int num, const volatile void *addr)
> {
> - uint32_t val = SWAP(1);
> + uint32_t val = 1;
> return val & (((const volatile uint32_t *) addr)[num >> 5] >> (num &
> 31));
> }
>
> @@ -468,12 +466,11 @@ static inline int
> static inline int
> test_and_set_bit (int num, volatile void *addr)
> {
> - uint32_t bit, b, old, new;
> + uint32_t bit, old, new;
> volatile uint32_t *m;
>
> m = (volatile uint32_t *) addr + (num >> 5);
> - b = 1 << (num & 31);
> - bit = SWAP(b);
> + bit = 1 << (num & 31);
> do {
> old = *m;
> new = old | bit;
> @@ -489,12 +486,11 @@ static
> static
> inline int test_and_clear_bit(int num, volatile unsigned long * addr)
> {
> - uint32_t bit, b, old, new;
> + uint32_t bit, old, new;
> volatile uint32_t* a;
>
> a = (volatile uint32_t *) addr + (num >> 5);
> - b = ~(1 << (num & 31));
> - bit = SWAP(b);
> + bit = ~(1 << (num & 31));
> do {
> old = *a;
> new = old & bit;
> diff -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/include/ia64/ia64_cpu.h
> --- a/extras/mini-os/include/ia64/ia64_cpu.h Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/include/ia64/ia64_cpu.h Tue Nov 18 10:55:51 2008 +0100
> @@ -134,23 +134,16 @@
> #define IA64_PSR_IA 0x0000200000000000
>
>
> -/* Endianess of mini-os. */
> -#if defined(BIG_ENDIAN)
> -#define MOS_IA64_PSR_BE IA64_PSR_BE
> -#else
> -#define MOS_IA64_PSR_BE 0
> -#endif
> -
> #define STARTUP_PSR (IA64_PSR_IT | IA64_PSR_PK | \
> - IA64_PSR_DT | IA64_PSR_RT | MOS_IA64_PSR_BE | \
> + IA64_PSR_DT | IA64_PSR_RT | \
> IA64_PSR_BN | IA64_PSR_CPL_KERN | IA64_PSR_AC)
>
> #define MOS_SYS_PSR (IA64_PSR_IC | IA64_PSR_I | IA64_PSR_IT | \
> - IA64_PSR_DT | IA64_PSR_RT | MOS_IA64_PSR_BE | \
> + IA64_PSR_DT | IA64_PSR_RT | \
> IA64_PSR_BN | IA64_PSR_CPL_KERN | IA64_PSR_AC)
>
> #define MOS_USR_PSR (IA64_PSR_IC | IA64_PSR_I | IA64_PSR_IT | \
> - IA64_PSR_DT | IA64_PSR_RT | MOS_IA64_PSR_BE | \
> + IA64_PSR_DT | IA64_PSR_RT | \
> IA64_PSR_BN | IA64_PSR_CPL_USER | IA64_PSR_AC)
>
> /*
> @@ -193,14 +186,7 @@
> #define IA64_DCR_MBZ1_V 0xffffffffffffULL
>
>
> - /* Endianess of DCR register. */
> -#if defined(BIG_ENDIAN)
> -#define MOS_IA64_DCR_BE (1 << IA64_DCR_BE)
> -#else
> -#define MOS_IA64_DCR_BE (0 << IA64_DCR_BE)
> -#endif
> -
> -#define IA64_DCR_DEFAULT (MOS_IA64_DCR_BE)
> +#define IA64_DCR_DEFAULT (IA64_DCR_BE)
>
> /*
> * Vector numbers for various ia64 interrupts.
> @@ -262,18 +248,8 @@
> #define IA64_RSC_MODE_LI (0x2) /* Load intensive */
> #define IA64_RSC_MODE_EA (0x3) /* Eager */
>
> -/* RSE endian mode. */
> -#if defined(BIG_ENDIAN)
> -#define MOS_IA64_RSC_BE 1 /* Big endian rse. */
> -#else
> -#define MOS_IA64_RSC_BE 0 /* Little endian rse. */
> -#endif
> -
> -#define IA64_RSE_EAGER ((IA64_RSC_MODE_EA<<IA64_RSC_MODE) | \
> - (MOS_IA64_RSC_BE << IA64_RSC_BE) )
> -
> -#define IA64_RSE_LAZY ((IA64_RSC_MODE_LY<<IA64_RSC_MODE) | \
> - (MOS_IA64_RSC_BE << IA64_RSC_BE) )
> +#define IA64_RSE_EAGER (IA64_RSC_MODE_EA<<IA64_RSC_MODE)
> +#define IA64_RSE_LAZY (IA64_RSC_MODE_LY<<IA64_RSC_MODE)
>
>
>
> @@ -719,19 +695,6 @@ typedef struct trap_frame trap_frame_t;
> */
> typedef struct
> {
> -#if defined(BIG_ENDIAN)
> - uint64_t pte_ig :11; /* bits 53..63 */
> - uint64_t pte_ed :1; /* bits 52..52 */
> - uint64_t pte_rv2:2; /* bits 50..51 */
> - uint64_t pte_ppn:38; /* bits 12..49 */
> - uint64_t pte_ar :3; /* bits 9..11 */
> - uint64_t pte_pl :2; /* bits 7..8 */
> - uint64_t pte_d :1; /* bits 6..6 */
> - uint64_t pte_a :1; /* bits 5..5 */
> - uint64_t pte_ma :3; /* bits 2..4 */
> - uint64_t pte_rv1:1; /* bits 1..1 */
> - uint64_t pte_p :1; /* bits 0..0 */
> -#else
> uint64_t pte_p :1; /* bits 0..0 */
> uint64_t pte_rv1:1; /* bits 1..1 */
> uint64_t pte_ma :3; /* bits 2..4 */
> @@ -743,7 +706,6 @@ typedef struct
> uint64_t pte_rv2:2; /* bits 50..51 */
> uint64_t pte_ed :1; /* bits 52..52 */
> uint64_t pte_ig :11; /* bits 53..63 */
> -#endif
> } ia64_pte_t;
>
>
> diff -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/include/ia64/os.h
> --- a/extras/mini-os/include/ia64/os.h Mon Nov 17 09:27:02 2008 +0100
> +++ b/extras/mini-os/include/ia64/os.h Tue Nov 18 10:55:51 2008 +0100
> @@ -28,7 +28,6 @@
> #if !defined(__ASSEMBLY__)
>
> #include <mini-os/types.h>
> -#include "endian.h"
> #include "ia64_cpu.h"
> #include "atomic.h"
> #include "efi.h"
> @@ -210,7 +209,7 @@ do {
> \
> do { \
> vcpu_info_t *_vcpu; \
> _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; \
> - _vcpu->evtchn_upcall_mask = SWAP(1); \
> + _vcpu->evtchn_upcall_mask = 1; \
> barrier(); \
> } while (0)
>
> @@ -221,7 +220,7 @@ do {
> \
> _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; \
> _vcpu->evtchn_upcall_mask = 0; \
> barrier(); /* unmask then check (avoid races) */ \
> - if (unlikely(SWAP(_vcpu->evtchn_upcall_pending))) \
> + if (unlikely(_vcpu->evtchn_upcall_pending)) \
> force_evtchn_callback(); \
> } while (0)
>
> @@ -229,7 +228,7 @@ do {
> \
> do { \
> vcpu_info_t *_vcpu; \
> _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; \
> - (x) = SWAP(_vcpu->evtchn_upcall_mask); \
> + (x) = _vcpu->evtchn_upcall_mask; \
> } while (0)
>
> #define __restore_flags(x) \
> @@ -239,7 +238,7 @@ do {
> \
> _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; \
> if ((_vcpu->evtchn_upcall_mask = (x)) == 0) { \
> barrier(); /* unmask then check (avoid races) */ \
> - if ( unlikely(SWAP(_vcpu->evtchn_upcall_pending)) ) \
> + if ( unlikely(_vcpu->evtchn_upcall_pending) ) \
> force_evtchn_callback(); \
> }\
> } while (0)
> @@ -250,8 +249,8 @@ do {
> \
> do { \
> vcpu_info_t *_vcpu; \
> _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; \
> - (x) = SWAP(_vcpu->evtchn_upcall_mask); \
> - _vcpu->evtchn_upcall_mask = SWAP(1); \
> + (x) = _vcpu->evtchn_upcall_mask; \
> + _vcpu->evtchn_upcall_mask = 1; \
> barrier(); \
> } while (0)
>
> @@ -262,7 +261,7 @@ do {
> \
> #define local_irq_enable() __sti()
>
> #define irqs_disabled() \
> -
> SWAP(HYPERVISOR_shared_info->vcpu_info[smp_processor_id()].evtchn_upcall_mask)
> +
> (HYPERVISOR_shared_info->vcpu_info[smp_processor_id()].evtchn_upcall_mask)
>
> /* This is a barrier for the compiler only, NOT the processor! */
> #define barrier() __asm__ __volatile__("": : :"memory")
> diff -r cf3b9afb8568 -r 56ecdf7c49e7 extras/mini-os/include/ia64/endian.h
> --- a/extras/mini-os/include/ia64/endian.h Mon Nov 17 09:27:02 2008 +0100
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,75 +0,0 @@
> -/*
> - * Done by Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
> - * Parts are taken from FreeBSD.
> - *
> - ****************************************************************************
> - * Permission is hereby granted, free of charge, to any person obtaining a
> copy
> - * of this software and associated documentation files (the "Software"), to
> - * deal in the Software without restriction, including without limitation the
> - * rights to use, copy, modify, merge, publish, distribute, sublicense,
> and/or
> - * sell copies of the Software, and to permit persons to whom the Software is
> - * furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> THE
> - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> - * DEALINGS IN THE SOFTWARE.
> - */
> -
> -
> -#if !defined(_ENDIAN_H_)
> -#define _ENDIAN_H_
> -
> -#include <mini-os/types.h>
> -
> -
> -#if !defined(__ASSEMBLY__)
> -
> -#if defined(BIG_ENDIAN)
> -
> -static __inline uint64_t
> -__bswap64(uint64_t __x)
> -{
> - uint64_t __r;
> - asm __volatile("mux1 %0=%1,@rev" : "=r" (__r) : "r"(__x));
> - return __r;
> -}
> -
> -static __inline uint32_t
> -__bswap32(uint32_t __x)
> -{
> - return (__bswap64(__x) >> 32);
> -}
> -
> -static __inline uint16_t
> -__bswap16(uint16_t __x)
> -{
> - return (__bswap64(__x) >> 48);
> -}
> -
> -#define doswap(x,sz) ( \
> - ((sz)==1)? (uint8_t)(x): \
> - ((sz)==2)? __bswap16(x): \
> - ((sz)==4)? __bswap32(x): \
> - ((sz)==8)? __bswap64(x): \
> - ~0l )
> -
> -#define SWAP(x) doswap((x), sizeof((x)))
> -
> -
> -#else /* defined(BIG_ENDIAN) */
> -
> -#define SWAP(x) (x)
> -
> -#endif /* defined(BIG_ENDIAN) */
> -
> -#endif /* !defined(__ASSEMBLY__) */
> -
> -
> -#endif /* !defined(_ENDIAN_H_) */
> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|