From dc61dc38d246a1ba64b3743ca44f8117342e96f9 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Jul 29 2008 15:13:01 +0000 Subject: - Remove ia64 palproc code since its license isn't usable. - Remove ia64 from ExclusiveArch since it can't build... --- diff --git a/gnu-efi-3.0d-palproc-license.patch b/gnu-efi-3.0d-palproc-license.patch new file mode 100644 index 0000000..bec8af0 --- /dev/null +++ b/gnu-efi-3.0d-palproc-license.patch @@ -0,0 +1,238 @@ +diff -up gnu-efi-3.0d/lib/ia64/palproc.h.license gnu-efi-3.0d/lib/ia64/palproc.h +--- gnu-efi-3.0d/lib/ia64/palproc.h.license 2007-05-09 14:37:27.000000000 -0400 ++++ gnu-efi-3.0d/lib/ia64/palproc.h 2008-07-28 12:00:28.000000000 -0400 +@@ -1,60 +0,0 @@ +-// +-// +-// Copyright (c) 1996-99 Intel Corp. +-// All Rights Reserved +-// +-// INTEL CORPORATION PROPRIETARY INFORMATION +-// +-// This software is supplied under the terms of a license +-// agreement or nondisclosure agreement with Intel Corpo- +-// ration and may not be copied or disclosed except in +-// accordance with the terms of that agreement. +-// +-// +-// +-//Module Name: +-// +-// palproc.h +-// +-//Abstract: +-// +-// This module contains generic macros for an IA64 assembly writer. +-// +-// +-//Revision History +-// +- +-#ifndef _PALPROC_H +-#define _PALPROC_H +- +-#define PROCEDURE_ENTRY(name) .##text; \ +- .##type name, @function; \ +- .##global name; \ +- .##proc name; \ +-name: +- +-#define PROCEDURE_EXIT(name) .##endp name +- +-// Note: use of NESTED_SETUP requires number of locals (l) >= 3 +- +-#define NESTED_SETUP(i,l,o,r) \ +- alloc loc1=ar##.##pfs,i,l,o,r ;\ +- mov loc0=b0 +- +-#define NESTED_RETURN \ +- mov b0=loc0 ;\ +- mov ar##.##pfs=loc1 ;;\ +- br##.##ret##.##dpnt b0;; +- +- +-// defines needed in palproc.s +- +-#define PAL_MC_CLEAR_LOG 0x0015 +-#define PAL_MC_DRAIN 0x0016 +-#define PAL_MC_EXPECTED 0x0017 +-#define PAL_MC_DYNAMIC_STATE 0x0018 +-#define PAL_MC_ERROR_INFO 0x0019 +-#define PAL_MC_RESUME 0x001a +-#define PAL_MC_REGISTER_MEM 0x001b +- +-#endif // _PALPROC_H +diff -up gnu-efi-3.0d/lib/ia64/palproc.S.license gnu-efi-3.0d/lib/ia64/palproc.S +--- gnu-efi-3.0d/lib/ia64/palproc.S.license 2007-05-09 14:37:27.000000000 -0400 ++++ gnu-efi-3.0d/lib/ia64/palproc.S 2008-07-28 12:00:30.000000000 -0400 +@@ -1,170 +0,0 @@ +-//++ +-// Copyright (c) 1996-99 Intel Corp. +-// All Rights Reserved +-// +-// INTEL CORPORATION PROPRIETARY INFORMATION +-// +-// This software is supplied under the terms of a license +-// agreement or nondisclosure agreement with Intel Corpo- +-// ration and may not be copied or disclosed except in +-// accordance with the terms of that agreement. +-// +-// +-// +-// Module Name: +-// +-// palproc.s +-// +-// Abstract: +-// +-// Contains an implementation for making PAL PROC calls on +-// IA-64 architecture. +-// +-// +-// +-// Revision History: +-// +-//-- +- +- .file "palproc.s" +- +-#include "palproc.h" +- +- +-//----------------------------------------------------------------------------- +-//++ +-// MakeStaticPALCall +-// +-// This routine is called whenever an architected static calling convention +-// based PAL call is to be made. This call does use RSE actually, but our policy +-// in making static PAL calls before memory is available is to make sure that +-// we do not nest too deep and allocate beyond 96 banked registers. In other +-// words we carefully code calls and control flow before memory is available. +-// +-// Arguments : All parameters set up to do static PAL call. +-// +-// On Entry : +-// +-// Return Value: +-// +-// As per static calling conventions. +-// +-//-- +-//--------------------------------------------------------------------------- +-PROCEDURE_ENTRY(MakeStaticPALCall) +- +- NESTED_SETUP (5,8,0,0) +- mov loc3 = b5 +- mov loc4 = r2 +- mov loc7 = r1;; +- +- movl loc6 = PAL_MC_CLEAR_LOG +- mov r2 = psr;; +- mov loc5 = r2 +- +- cmp.eq p6,p7 = r28,loc6;; +- (p7)movl loc6 = PAL_MC_DYNAMIC_STATE;; +- (p7)cmp.eq p6,p7 = r28,loc6;; +- +- (p7)movl loc6 = PAL_MC_ERROR_INFO;; +- (p7)cmp.eq p6,p7 = r28,loc6;; +- +- (p7)movl loc6 = PAL_MC_RESUME;; +- (p7)cmp.eq p6,p7 = r28,loc6 +- +- mov loc6 = 0x1;; +- (p7)dep r2 = loc6,r2,13,1;; // psr.ic = 1 +- +-// p6 will be true, if it is one of the MCHK calls. There has been lots of debate +-// on psr.ic for these values. For now, do not do any thing to psr.ic +- +-// (p6)dep r2 = r0,r2,13,1;; // psr.ic = 0 +- dep r2 = r0,r2,14,1;; // psr.i = 0 +- +- mov psr.l = r2 +- srlz.d;; // Needs data serailization. +- srlz.i;; // Needs instruction serailization. +- +-StaticGetPALLocalIP: +- mov loc2 = ip;; +- add loc2 = StaticComeBackFromPALCall - StaticGetPALLocalIP,loc2;; +- mov b0 = loc2 // return address after Pal call +- mov r28 = in1 // get the input parameters to PAL call +- mov r29 = in2 +- mov r30 = in3;; +- mov r31 = in4 +- mov b5 = in0;; // get the PalProcEntrypt from input +- br.sptk b5 // Take the plunge. +- +-StaticComeBackFromPALCall: +- +- mov psr.l = loc5;; +- srlz.d;; // Needs data serailization. +- srlz.i;; // Needs instruction serailization. +- +- mov b5 = loc3 +- mov r2 = loc4 +- mov r1 = loc7 +- +- NESTED_RETURN +- +-PROCEDURE_EXIT(MakeStaticPALCall) +- +- +-//----------------------------------------------------------------------------- +-//++ +-// MakeStackedPALCall +-// +-// This routine is called whenever an architected stacked calling convention +-// based PAL call is to be made. This call is made after memory is available. +-// Although stacked calls could be made directly from 'C', there is a PAL +-// requirement which forces the index to be in GR28 and hence this stub is +-// needed +-// +-// Arguments : All parameters set up to do stacted PAL call. +-// +-// On Entry : +-// in0: PAL_PROC entrypoint +-// in1-in4 : PAL_PROC arguments +-// +-// Return Value: +-// +-// As per stacked calling conventions. +-// +-//-- +-//--------------------------------------------------------------------------- +-PROCEDURE_ENTRY(MakeStackedPALCall) +- +- NESTED_SETUP (5,8,4,0) +- mov loc3 = b5 +- mov loc4 = r2 +- mov loc7 = r1 +- mov r2 = psr;; +- mov loc5 = r2;; +- dep r2 = r0,r2,14,1;; // psr.i = 0 +- mov psr.l = r2 +- srlz.d;; // Needs data serailization. +- srlz.i;; // Needs instruction serailization. +- +-StackedGetPALLocalIP: +- mov r28 = in1 // get the input parameters to PAL call +- mov out0 = in1 +- mov out1 = in2;; +- mov out2 = in3 +- mov out3 = in4 +- mov b5 = in0;; // get the PalProcEntrypt from input +- br.call.dpnt b0=b5;; // Take the plunge. +- +-StackedComeBackFromPALCall: +- +- mov psr.l = loc5;; +- srlz.d;; // Needs data serailization. +- srlz.i;; // Needs instruction serailization. +- mov b5 = loc3 +- mov r2 = loc4 +- mov r1 = loc7 +- +- NESTED_RETURN +- +-PROCEDURE_EXIT(MakeStackedPALCall) +- diff --git a/gnu-efi.spec b/gnu-efi.spec index be5f5a3..6805b5c 100644 --- a/gnu-efi.spec +++ b/gnu-efi.spec @@ -1,7 +1,7 @@ Summary: Development Libraries and headers for EFI Name: gnu-efi Version: 3.0d -Release: 4%{?dist} +Release: 5%{?dist} Group: Development/System License: GPL URL: ftp://ftp.hpl.hp.com/pub/linux-ia64 @@ -12,8 +12,9 @@ Patch2: gnu-efi-3.0d-x86_64.patch Patch3: gnu-efi-3.0d-rpm.patch Patch4: gnu-efi-3.0d-unwrap.patch Patch5: gnu-efi-3.0d-uefi_wrap_call10.patch +Patch6: gnu-efi-3.0d-palproc-license.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -ExclusiveArch: ia64 i386 x86_64 +ExclusiveArch: i386 x86_64 %description This package contains development headers and libraries for developing @@ -27,6 +28,7 @@ applications that run under EFI (Extensible Firmware Interface). %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build # Package cannot build with %{?_smp_mflags}. @@ -54,6 +56,10 @@ rm -rf %{buildroot} %{_libdir}/* %changelog +* Mon Jul 28 2008 Peter Jones - 3.0d-5 +- Remove ia64 palproc code since its license isn't usable. +- Remove ia64 from ExclusiveArch since it can't build... + * Thu Mar 27 2008 Peter Jones - 3.0d-4 - Fix uefi_call_wrapper(x, 10, ...) . - Add efi_main wrappers and EFI_CALL() macro so drivers are possible.