diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2010-07-19 20:07:24 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2010-07-19 20:07:24 +0000 |
commit | 0799e77a8b44009bb6fc34a314bcbf8c970ad47a (patch) | |
tree | 7b30087889876498529dd68e6f69634329a31c2b /target/linux/brcm47xx/patches-2.6.33/800-fix_cfe_detection.patch | |
parent | d82495ee60b78b22dcb2d679e8f90ae898adbda3 (diff) | |
download | master-31e0f0ae-0799e77a8b44009bb6fc34a314bcbf8c970ad47a.tar.gz master-31e0f0ae-0799e77a8b44009bb6fc34a314bcbf8c970ad47a.tar.bz2 master-31e0f0ae-0799e77a8b44009bb6fc34a314bcbf8c970ad47a.zip |
brcm47xx: remove kernel 2.6.33
SVN-Revision: 22295
Diffstat (limited to 'target/linux/brcm47xx/patches-2.6.33/800-fix_cfe_detection.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-2.6.33/800-fix_cfe_detection.patch | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.33/800-fix_cfe_detection.patch b/target/linux/brcm47xx/patches-2.6.33/800-fix_cfe_detection.patch deleted file mode 100644 index a298055708..0000000000 --- a/target/linux/brcm47xx/patches-2.6.33/800-fix_cfe_detection.patch +++ /dev/null @@ -1,108 +0,0 @@ ---- a/arch/mips/bcm47xx/prom.c -+++ b/arch/mips/bcm47xx/prom.c -@@ -32,6 +32,7 @@ - #include <asm/fw/cfe/cfe_error.h> - - static int cfe_cons_handle; -+static void (* __prom_putchar)(char c); - - const char *get_system_type(void) - { -@@ -40,65 +41,40 @@ const char *get_system_type(void) - - void prom_putchar(char c) - { -+ if (__prom_putchar) -+ __prom_putchar(c); -+} -+ -+void prom_putchar_cfe(char c) -+{ - while (cfe_write(cfe_cons_handle, &c, 1) == 0) - ; - } - --static __init void prom_init_cfe(void) -+static __init int prom_init_cfe(void) - { - uint32_t cfe_ept; - uint32_t cfe_handle; - uint32_t cfe_eptseal; -- int argc = fw_arg0; -- char **envp = (char **) fw_arg2; -- int *prom_vec = (int *) fw_arg3; -- -- /* -- * Check if a loader was used; if NOT, the 4 arguments are -- * what CFE gives us (handle, 0, EPT and EPTSEAL) -- */ -- if (argc < 0) { -- cfe_handle = (uint32_t)argc; -- cfe_ept = (uint32_t)envp; -- cfe_eptseal = (uint32_t)prom_vec; -- } else { -- if ((int)prom_vec < 0) { -- /* -- * Old loader; all it gives us is the handle, -- * so use the "known" entrypoint and assume -- * the seal. -- */ -- cfe_handle = (uint32_t)prom_vec; -- cfe_ept = 0xBFC00500; -- cfe_eptseal = CFE_EPTSEAL; -- } else { -- /* -- * Newer loaders bundle the handle/ept/eptseal -- * Note: prom_vec is in the loader's useg -- * which is still alive in the TLB. -- */ -- cfe_handle = prom_vec[0]; -- cfe_ept = prom_vec[2]; -- cfe_eptseal = prom_vec[3]; -- } -- } - -- if (cfe_eptseal != CFE_EPTSEAL) { -- /* too early for panic to do any good */ -- printk(KERN_ERR "CFE's entrypoint seal doesn't match."); -- while (1) ; -- } -+ cfe_eptseal = (uint32_t) fw_arg3; -+ cfe_handle = (uint32_t) fw_arg0; -+ cfe_ept = (uint32_t) fw_arg2; -+ -+ if (cfe_eptseal != CFE_EPTSEAL) -+ return -1; - - cfe_init(cfe_handle, cfe_ept); -+ return 0; - } - --static __init void prom_init_console(void) -+static __init void prom_init_console_cfe(void) - { - /* Initialize CFE console */ - cfe_cons_handle = cfe_getstdhandle(CFE_STDHANDLE_CONSOLE); - } - --static __init void prom_init_cmdline(void) -+static __init void prom_init_cmdline_cfe(void) - { - static char buf[COMMAND_LINE_SIZE] __initdata; - -@@ -160,9 +136,12 @@ static __init void prom_init_mem(void) - - void __init prom_init(void) - { -- prom_init_cfe(); -- prom_init_console(); -- prom_init_cmdline(); -+ if (prom_init_cfe() == 0) { -+ //prom_init_console_cfe(); -+ //prom_init_cmdline_cfe(); -+ __prom_putchar = prom_putchar_cfe; -+ } -+ - prom_init_mem(); - } - |