Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. ixipi.c
  5. Abstract:
  6. Provides the HAL support for Interprocessor Interrupts.
  7. This is the UP version.
  8. Author:
  9. John Vert (jvert) 16-Jul-1991
  10. Revision History:
  11. Forrest Foltz (forrestf) 23-Oct-2000
  12. Ported from ixipi.asm to ixipi.c
  13. --*/
  14. #include "halcmn.h"
  15. VOID
  16. HalInitializeProcessor(
  17. ULONG Number,
  18. PLOADER_PARAMETER_BLOCK LoaderBlock
  19. )
  20. /*++
  21. Routine Description:
  22. Initialize hal pcr values for current processor (if any)
  23. (called shortly after processor reaches kernel, before
  24. HalInitSystem if P0)
  25. IPI's and KeReadir/LowerIrq's must be available once this function
  26. returns. (IPI's are only used once two or more processors are
  27. available)
  28. Arguments:
  29. Number - Logical processor number of calling processor
  30. Return Value:
  31. None.
  32. --*/
  33. {
  34. KAFFINITY mask;
  35. mask = (KAFFINITY)1 << Number;
  36. HalpDefaultInterruptAffinity |= mask;
  37. HalpActiveProcessors |= mask;
  38. HalpRegisterKdSupportFunctions(LoaderBlock);
  39. }
  40. VOID
  41. HalRequestIpi (
  42. IN KAFFINITY Mask
  43. )
  44. /*++
  45. Routine Description:
  46. Requests an interprocessor interrupt
  47. Arguments:
  48. Mask - Supplies a mask of the processors to interrupt
  49. Return Value:
  50. None.
  51. --*/
  52. {
  53. KdBreakPoint();
  54. }