Previously it was:
  ESI/RSI - SEC Core entry point
  EDI/RDI - PEI Core entry point
  EBP/RBP - Start of BFV
Now it is:
  RAX/EAX  Initial value of the EAX register
           (BIST: Built-in Self Test)
  DI       'BP': boot-strap processor, or
           'AP': application processor
  RBP/EBP  Address of Boot Firmware Volume (BFV)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9571 6f19259b-4bc3-4df7-8a09-765794883524
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
## @file
 | 
						|
#  Automate the process of building the various reset vector types
 | 
						|
#
 | 
						|
#  Copyright (c) 2009, Intel Corporation
 | 
						|
#
 | 
						|
#  All rights reserved. This program and the accompanying materials
 | 
						|
#  are licensed and made available under the terms and conditions of the BSD License
 | 
						|
#  which accompanies this distribution.  The full text of the license may be found at
 | 
						|
#  http://opensource.org/licenses/bsd-license.php
 | 
						|
#
 | 
						|
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
						|
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
#
 | 
						|
 | 
						|
import glob
 | 
						|
import os
 | 
						|
import subprocess
 | 
						|
import sys
 | 
						|
 | 
						|
def RunCommand(commandLine):
 | 
						|
    #print ' '.join(commandLine)
 | 
						|
    return subprocess.call(commandLine)
 | 
						|
 | 
						|
for filename in glob.glob(os.path.join('Bin', '*.raw')):
 | 
						|
    os.remove(filename)
 | 
						|
 | 
						|
for arch in ('ia32', 'x64'):
 | 
						|
    for debugType in (None, 'port80', 'serial'):
 | 
						|
        output = os.path.join('Bin', 'ResetVector')
 | 
						|
        output += '.' + arch
 | 
						|
        if debugType is not None:
 | 
						|
            output += '.' + debugType
 | 
						|
        output += '.raw'
 | 
						|
        commandLine = (
 | 
						|
            'nasm',
 | 
						|
            '-D', 'ARCH_%s' % arch.upper(),
 | 
						|
            '-D', 'DEBUG_%s' % str(debugType).upper(),
 | 
						|
            '-o', output,
 | 
						|
            'ResetVectorCode.asm',
 | 
						|
            )
 | 
						|
        ret = RunCommand(commandLine)
 | 
						|
        print '\tASM\t' + output
 | 
						|
        if ret != 0: sys.exit(ret)
 | 
						|
 | 
						|
        commandLine = (
 | 
						|
            'python',
 | 
						|
            'Tools/FixupForRawSection.py',
 | 
						|
            output,
 | 
						|
            )
 | 
						|
        print '\tFIXUP\t' + output
 | 
						|
        ret = RunCommand(commandLine)
 | 
						|
        if ret != 0: sys.exit(ret)
 | 
						|
 |