Blame view

bootloader/u-boot_2015_04/doc/README.mips 1.62 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  
  Notes for the MIPS architecture port of U-Boot
  
  Toolchains
  ----------
  
    http://www.denx.de/wiki/DULG/ELDK
    ELDK < DULG < DENX
  
    http://www.emdebian.org/crosstools.html
    Embedded Debian -- Cross-development toolchains
  
    http://buildroot.uclibc.org/
    Buildroot
  
  Known Issues
  ------------
  
    * Cache incoherency issue caused by do_bootelf_exec() at cmd_elf.c
  
      Cache will be disabled before entering the loaded ELF image without
      writing back and invalidating cache lines. This leads to cache
      incoherency in most cases, unless the code gets loaded after U-Boot
      re-initializes the cache. The more common uImage 'bootm' command does
      not suffer this problem.
  
      [workaround] To avoid this cache incoherency,
      1) insert flush_cache(all) before calling dcache_disable(), or
      2) fix dcache_disable() to do both flushing and disabling cache.
  
    * Note that Linux users need to kill dcache_disable() in do_bootelf_exec()
      or override do_bootelf_exec() not to disable I-/D-caches, because most
      Linux/MIPS ports don't re-enable caches after entering kernel_entry.
  
  TODOs
  -----
  
    * Probe CPU types, I-/D-cache and TLB size etc. automatically
  
    * Secondary cache support missing
  
    * Initialize TLB entries redardless of their use
  
    * R2000/R3000 class parts are not supported
  
    * Limited testing across different MIPS variants
  
    * Due to cache initialization issues, the DRAM on board must be
      initialized in board specific assembler language before the cache init
      code is run -- that is, initialize the DRAM in lowlevel_init().
  
    * centralize/share more CPU code of MIPS32, MIPS64 and XBurst
  
    * support Qemu Malta