- Remove ia64 palproc code since its license isn't usable.

- Remove ia64 from ExclusiveArch since it can't build...
This commit is contained in:
Peter Jones 2008-07-29 15:13:01 +00:00
parent d2d5750621
commit dc61dc38d2
2 changed files with 246 additions and 2 deletions

View File

@ -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)
-

View File

@ -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 <pjones@redhat.com> - 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 <pjones@redhat.com> - 3.0d-4
- Fix uefi_call_wrapper(x, 10, ...) .
- Add efi_main wrappers and EFI_CALL() macro so drivers are possible.