pcimt_scache.c 922 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * arch/mips/sni/pcimt_scache.c
  3. *
  4. * This file is subject to the terms and conditions of the GNU General Public
  5. * License. See the file "COPYING" in the main directory of this archive
  6. * for more details.
  7. *
  8. * Copyright (c) 1997, 1998 by Ralf Baechle
  9. */
  10. #include <linux/init.h>
  11. #include <linux/kernel.h>
  12. #include <asm/bcache.h>
  13. #include <asm/sni.h>
  14. #define cacheconf (*(volatile unsigned int *)PCIMT_CACHECONF)
  15. #define invspace (*(volatile unsigned int *)PCIMT_INVSPACE)
  16. void __init sni_pcimt_sc_init(void)
  17. {
  18. unsigned int scsiz, sc_size;
  19. scsiz = cacheconf & 7;
  20. if (scsiz == 0) {
  21. printk("Second level cache is deactived.\n");
  22. return;
  23. }
  24. if (scsiz >= 6) {
  25. printk("Invalid second level cache size configured, "
  26. "deactivating second level cache.\n");
  27. cacheconf = 0;
  28. return;
  29. }
  30. sc_size = 128 << scsiz;
  31. printk("%dkb second level cache detected, deactivating.\n", sc_size);
  32. cacheconf = 0;
  33. }