create IRQ(hardware interrupt)


3.SYSINTR and IRQ mapping
VOID OALIntrStaticTranslate(
UINT32 sysIntr,
UINT32 irq
);

4.create Event
- ensure the event are created successfully.
- InterruptInitialize(), this function initializes a hardware interrupt with kernel, and allows the device driver to register an event and enable the interrupt. check it has created successfully.
- create a thread and ensure it has created successfully

5.wait event occur
- InterruptDone(), this function signals to the kernel that interrupt processing has been completed.
- WaitForSingleObject(), this function checks the current state of the specified object. If the object's state is nonsignaled, the calling thread enters a wait state.
