memio.S 690 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "macros.h"
  2. .globl pci_read_cfg_byte
  3. pci_read_cfg_byte:
  4. config_addr
  5. config_data 3
  6. eieio
  7. sync
  8. lbz r3, 0(r9)
  9. blr
  10. .globl pci_write_cfg_byte
  11. pci_write_cfg_byte:
  12. config_addr
  13. config_data 3
  14. stb r6, 0(r9)
  15. eieio
  16. sync
  17. blr
  18. .globl pci_read_cfg_word
  19. pci_read_cfg_word:
  20. config_addr
  21. config_data 2
  22. lhbrx r3, 0, r9
  23. eieio
  24. sync
  25. blr
  26. .globl pci_write_cfg_word
  27. pci_write_cfg_word:
  28. config_addr
  29. config_data 2
  30. sthbrx r6, 0, r9
  31. eieio
  32. sync
  33. blr
  34. .globl pci_read_cfg_long
  35. pci_read_cfg_long:
  36. config_addr
  37. config_data 0
  38. lwbrx r3, 0, r9
  39. eieio
  40. sync
  41. blr
  42. .globl pci_write_cfg_long
  43. pci_write_cfg_long:
  44. config_addr
  45. config_data 0
  46. stwbrx r6, 0, r9
  47. eieio
  48. sync
  49. blr