cachemode.s
上传用户:qiulin1960
上传日期:2013-10-16
资源大小:2844k
文件大小:2k
源码类别:

Windows CE

开发平台:

Windows_Unix

  1. ;
  2. ; Copyright (c) Microsoft Corporation.  All rights reserved.
  3. ;
  4. ;
  5. ; Use of this source code is subject to the terms of the Microsoft end-user
  6. ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
  7. ; If you did not accept the terms of the EULA, you are not authorized to use
  8. ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
  9. ; install media.
  10. ;
  11. ; Copyright (c) 1998, 1999 ARM Limited
  12. ; All Rights Reserved
  13. ;
  14.     OPT     2       ; disable listing
  15.     INCLUDE kxarm.h
  16.     OPT     1       ; reenable listing
  17.     OPT     128     ; disable listing of macro expansions
  18.     INCLUDE armmacros.s
  19.     TEXTAREA
  20.     LEAF_ENTRY OEMARMCacheMode
  21. ;++
  22. ; Routine Description:
  23. ;    Sets the C and B bits to be used to build page tables
  24. ;
  25. ; C and B bits are part of the page table entries and control write through vs.
  26. ; write back cache modes, cacheability, and write buffer use. Note that C 
  27. ; and B bit functionality is processor specific and different for the 720,
  28. ; 920, and SA1100. Consult the CPU hardware manual for the CPU
  29. ; in question before altering these bit configurations!!
  30. ; This default configuration (C=B=1)works on all current ARM CPU's and gives
  31. ; the following behaviour
  32. ; ARM720: write through, write buffer enabled
  33. ; ARM920: write back cache mode
  34. ; SA1100: write back, write buffer enabled
  35. ;
  36. ; The four valid options are:
  37. ;   ARM_NoBits      0x00000000
  38. ;   ARM_CBit        0x00000008
  39. ;   ARM_BBit        0x00000004
  40. ;   ARM_CBBits      0x0000000C
  41. ;
  42. ; Syntax:
  43. ;   DWORD OEMARMCacheMode(void);
  44. ;
  45. ; Arguments:
  46. ;   -- none --
  47. ;
  48. ; Return Value:
  49. ;  r0 must contain the desired C and B bit configuration. See description above
  50. ;  for valid bit patterns.
  51. ;
  52. ; Caution:
  53. ;  The value placed in r0 MUST be an immediate data value and NOT a predefined
  54. ;  constant. This function is called at a point in the boot cycle where the 
  55. ;  memory containing predefined constants has NOT been initialized yet.
  56. ;  --
  57.         mov r0, #0x0c
  58.         RETURN
  59.         END