ioApicIntrShow.c
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* ioApicIntrShow.c - Intel IO APIC/xAPIC driver show routines */
  2. /* Copyright 1984-2002 Wind River Systems, Inc. */
  3. #include "copyright_wrs.h"
  4. /*
  5. modification history
  6. --------------------
  7. 01b,08mar02,hdn  added the description
  8. 01a,25jun01,hdn  extracted from 01d version of ioApicIntr.c
  9. */
  10. /*
  11. DESCRIPTION
  12. This module is a show routine for the IO APIC/xAPIC (Advanced 
  13. Programmable Interrupt Controller) for P6 (PentiumPro, II, III) 
  14. family processors and P7 (Pentium4) family processors.  
  15. ioApicShow() shows content of the IO APIC registers.
  16. INCLUDE FILES: loApic.h, ioApic.h
  17. SEE ALSO: ioApicIntr.c
  18. */
  19. /* includes */
  20. #include "drv/intrCtl/loApic.h"
  21. #include "drv/intrCtl/ioApic.h"
  22. /* externs */
  23. /* globals */
  24. /* locals */
  25. /* forward declarations */
  26. /*******************************************************************************
  27. *
  28. * ioApicShow - show IO APIC registers
  29. *
  30. * This routine shows IO APIC registers
  31. *
  32. * RETURNS: N/A
  33. */
  34. void ioApicShow (void)
  35.     {
  36.     int ix;
  37.     int version;
  38.     UINT32 ioApicData = ioApicBase + IOAPIC_DATA;
  39.     printf ("IOAPIC_ID    = 0x%08xn", 
  40.     ioApicGet (ioApicBase, ioApicData, IOAPIC_ID));
  41.     version = ioApicGet (ioApicBase, ioApicData, IOAPIC_VERS);
  42.     printf ("IOAPIC_VER   = 0x%08xn", version);
  43.     printf ("IOAPIC_ARB   = 0x%08xn", 
  44.     ioApicGet (ioApicBase, ioApicData, IOAPIC_ARB));
  45.     if (ioApicVersion & IOAPIC_PRQ) /* use PRQ bit XXX */
  46.         printf ("IOAPIC_BOOT  = 0x%08xn", 
  47.                 ioApicGet (ioApicBase, ioApicData, IOAPIC_BOOT));
  48.     for (ix = 0; ix <= ((version & IOAPIC_MRE_MASK) >> 16); ix++)
  49. {
  50.         printf ("IOAPIC_TBL%02d = 0x%08x ", ix, 
  51.         ioApicGet (ioApicBase, ioApicData, IOAPIC_REDTBL + ix * 2 + 1));
  52.         printf ("%08xn", 
  53.         ioApicGet (ioApicBase, ioApicData, IOAPIC_REDTBL + ix * 2));
  54. }
  55.     }