From d397f0f91e262ff832ee267d3cf9d2a658d1f5a2 Mon Sep 17 00:00:00 2001 From: yutaka Date: Thu, 3 Apr 2008 07:08:42 +0000 Subject: [PATCH] =?UTF-8?q?aesBuffer=E3=81=AE=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1051 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries/fs/ARM7/src/fs_loader.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/build/libraries/fs/ARM7/src/fs_loader.c b/build/libraries/fs/ARM7/src/fs_loader.c index 1169b591..af6ecf48 100644 --- a/build/libraries/fs/ARM7/src/fs_loader.c +++ b/build/libraries/fs/ARM7/src/fs_loader.c @@ -31,11 +31,10 @@ static ROM_Header* const rh= (ROM_Header*)HW_TWL_ROM_HEADER_BUF; static BOOL aesFlag; static AESCounter aesCounter; -static u8 aesBuffer[HW_FIRM_LOAD_BUFFER_UNIT_SIZE] ATTRIBUTE_ALIGN(32); #define DMA_SEND 2 #define DMA_RECV 3 -static void CopyWithAes( const void* src, void* dest, u32 size ) +static void ReplaceWithAes( void* ptr, u32 size ) { AES_Lock(); AES_Reset(); @@ -43,8 +42,8 @@ static void CopyWithAes( const void* src, void* dest, u32 size ) AES_WaitKey(); AES_LoadKey( AES_KEY_SLOT_A ); AES_WaitKey(); - AES_DmaSend( DMA_SEND, src, size, NULL, NULL ); - AES_DmaRecv( DMA_RECV, dest, size, NULL, NULL ); + AES_DmaSend( DMA_SEND, ptr, size, NULL, NULL ); + AES_DmaRecv( DMA_RECV, ptr, size, NULL, NULL ); AES_SetCounter( &aesCounter ); AES_Run( AES_MODE_CTR, 0, size / AES_BLOCK_SIZE, NULL, NULL ); AES_AddToCounter( &aesCounter, size / AES_BLOCK_SIZE ); @@ -138,8 +137,7 @@ BOOL FS_LoadBuffer( int fd, u32 offset, u32 size ) } while ( size > 0 ) { - u8* dest = aesFlag ? aesBuffer : - (u8*)HW_FIRM_LOAD_BUFFER_BASE + count * HW_FIRM_LOAD_BUFFER_UNIT_SIZE; + u8* dest = (u8*)HW_FIRM_LOAD_BUFFER_BASE + count * HW_FIRM_LOAD_BUFFER_UNIT_SIZE; u32 unit = size < HW_FIRM_LOAD_BUFFER_UNIT_SIZE ? size : HW_FIRM_LOAD_BUFFER_UNIT_SIZE; PXI_AcquireLoadBufferSemaphore(); // wait to be ready if ( MI_GetWramBankMaster_B( count ) != MI_WRAM_ARM7 ) @@ -169,7 +167,7 @@ BOOL FS_LoadBuffer( int fd, u32 offset, u32 size ) #endif if ( aesFlag ) { - CopyWithAes( dest, (u8*)HW_FIRM_LOAD_BUFFER_BASE + count * HW_FIRM_LOAD_BUFFER_UNIT_SIZE, unit ); + ReplaceWithAes( dest, unit ); } PXI_ReleaseLoadBufferSemaphore(); count = ( count + 1 ) % HW_FIRM_LOAD_BUFFER_UNIT_NUMS;