From 863a0d5c6aa5a9aabb95baa15d450a04dc2d9f38 Mon Sep 17 00:00:00 2001 From: yutaka Date: Wed, 11 Jun 2008 08:02:14 +0000 Subject: [PATCH] =?UTF-8?q?=E9=87=8F=E7=94=A3=E9=8D=B5=E3=81=AE=E5=A0=B4?= =?UTF-8?q?=E5=90=88=E3=81=AB=E9=96=8B=E7=99=BA=E6=A9=9F=E3=81=A7=E3=83=96?= =?UTF-8?q?=E3=83=BC=E3=83=88=E3=81=97=E3=81=AA=E3=81=84=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E3=81=97=E3=81=9F=E3=80=82=20=E3=83=A9=E3=83=B3?= =?UTF-8?q?=E3=83=81=E3=83=A3=E3=83=BC=E3=83=96=E3=83=BC=E3=83=88=E6=99=82?= =?UTF-8?q?=E3=81=A0=E3=81=91=E3=81=A7=E3=81=AA=E3=81=8FOS=5FInitFIRM?= =?UTF-8?q?=E3=81=AE=E6=9C=80=E5=BE=8C=E3=81=AB=E3=82=82=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=80=82?= 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@1599 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries/os/common/os_boot.c | 13 ++++++++++--- build/libraries/os/common/os_init_firm.c | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/build/libraries/os/common/os_boot.c b/build/libraries/os/common/os_boot.c index 1802e6ac..1092db90 100644 --- a/build/libraries/os/common/os_boot.c +++ b/build/libraries/os/common/os_boot.c @@ -116,14 +116,21 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header ) #ifndef FIRM_USE_PRODUCT_KEYS // 開発鍵を使っている時は量産用CPUではブートしない #ifdef SDK_ARM9 - if ( ! ((*(u8*)OS_CHIPTYPE_DEBUGGER_ADDR & OS_CHIPTYPE_DEBUGGER_MASK)) ) + if ( ! (*(u8*)OS_CHIPTYPE_DEBUGGER_ADDR & OS_CHIPTYPE_DEBUGGER_MASK) ) #else // SDK_ARM7 - if ( ! ((*(u8*)HWi_WSYS08_ADDR & HWi_WSYS08_OP_OPT_MASK)) ) + if ( ! (*(u8*)HWi_WSYS08_ADDR & HWi_WSYS08_OP_OPT_MASK) ) #endif // SDK_ARM7 +#else // !FIRM_USE_PRODUCT_KEYS + // 量産鍵を使っている時は開発用CPUではブートしない +#ifdef SDK_ARM9 + if ( *(u8*)OS_CHIPTYPE_DEBUGGER_ADDR & OS_CHIPTYPE_DEBUGGER_MASK ) +#else // SDK_ARM7 + if ( *(u8*)HWi_WSYS08_ADDR & HWi_WSYS08_OP_OPT_MASK ) +#endif // SDK_ARM7 +#endif // !FIRM_USE_PRODUCT_KEYS { OS_Terminate(); } -#endif // FIRM_USE_PRODUCT_KEYS REBOOT_Execute(entry, wram_reg, mem_list, code_buf, stack_top, target, scfg, set_jtag, forbid_jtag, psram_4mb); OS_Terminate(); } diff --git a/build/libraries/os/common/os_init_firm.c b/build/libraries/os/common/os_init_firm.c index 4bb6f8b0..3e2763a6 100644 --- a/build/libraries/os/common/os_init_firm.c +++ b/build/libraries/os/common/os_init_firm.c @@ -166,6 +166,25 @@ void OS_InitFIRM(void) #endif #endif // SDK_ARM9 + +#ifndef FIRM_USE_PRODUCT_KEYS + // 開発鍵を使っている時は量産用CPUでは起動しない +#ifdef SDK_ARM9 + if ( ! (*(u8*)OS_CHIPTYPE_DEBUGGER_ADDR & OS_CHIPTYPE_DEBUGGER_MASK) ) +#else // SDK_ARM7 + if ( ! (*(u8*)HWi_WSYS08_ADDR & HWi_WSYS08_OP_OPT_MASK) ) +#endif // SDK_ARM7 +#else // !FIRM_USE_PRODUCT_KEYS + // 量産鍵を使っている時は開発用CPUでは起動しない +#ifdef SDK_ARM9 + if ( *(u8*)OS_CHIPTYPE_DEBUGGER_ADDR & OS_CHIPTYPE_DEBUGGER_MASK ) +#else // SDK_ARM7 + if ( *(u8*)HWi_WSYS08_ADDR & HWi_WSYS08_OP_OPT_MASK ) +#endif // SDK_ARM7 +#endif // !FIRM_USE_PRODUCT_KEYS + { + OS_Terminate(); + } } #pragma profile reset