mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 14:32:46 +00:00 
			
		
		
		
	CPU: Add 2 files with ISR stub macros
This commit is contained in:
		
							parent
							
								
									c51a57fb32
								
							
						
					
					
						commit
						71371d39b3
					
				
					 2 changed files with 296 additions and 0 deletions
				
			
		
							
								
								
									
										260
									
								
								Kernel/Arch/i386/ISRStubs.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										260
									
								
								Kernel/Arch/i386/ISRStubs.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,260 @@ | |||
| #pragma once | ||||
| #include <Kernel/Arch/i386/Interrupts.h> | ||||
| 
 | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(0, 0x50) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(1, 0x51) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(2, 0x52) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(3, 0x53) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(4, 0x54) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(5, 0x55) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(6, 0x56) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(7, 0x57) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(8, 0x58) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(9, 0x59) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(10, 0x5a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(11, 0x5b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(12, 0x5c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(13, 0x5d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(14, 0x5e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(15, 0x5f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(16, 0x60) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(17, 0x61) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(18, 0x62) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(19, 0x63) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(20, 0x64) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(21, 0x65) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(22, 0x66) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(23, 0x67) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(24, 0x68) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(25, 0x69) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(26, 0x6a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(27, 0x6b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(28, 0x6c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(29, 0x6d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(30, 0x6e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(31, 0x6f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(32, 0x70) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(33, 0x71) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(34, 0x72) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(35, 0x73) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(36, 0x74) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(37, 0x75) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(38, 0x76) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(39, 0x77) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(40, 0x78) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(41, 0x79) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(42, 0x7a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(43, 0x7b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(44, 0x7c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(45, 0x7d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(46, 0x7e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(47, 0x7f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(48, 0x80) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(49, 0x81) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(50, 0x82) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(51, 0x83) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(52, 0x84) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(53, 0x85) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(54, 0x86) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(55, 0x87) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(56, 0x88) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(57, 0x89) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(58, 0x8a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(59, 0x8b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(60, 0x8c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(61, 0x8d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(62, 0x8e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(63, 0x8f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(64, 0x90) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(65, 0x91) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(66, 0x92) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(67, 0x93) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(68, 0x94) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(69, 0x95) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(70, 0x96) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(71, 0x97) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(72, 0x98) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(73, 0x99) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(74, 0x9a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(75, 0x9b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(76, 0x9c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(77, 0x9d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(78, 0x9e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(79, 0x9f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(80, 0xa0) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(81, 0xa1) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(82, 0xa2) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(83, 0xa3) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(84, 0xa4) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(85, 0xa5) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(86, 0xa6) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(87, 0xa7) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(88, 0xa8) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(89, 0xa9) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(90, 0xaa) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(91, 0xab) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(92, 0xac) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(93, 0xad) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(94, 0xae) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(95, 0xaf) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(96, 0xb0) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(97, 0xb1) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(98, 0xb2) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(99, 0xb3) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(100, 0xb4) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(101, 0xb5) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(102, 0xb6) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(103, 0xb7) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(104, 0xb8) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(105, 0xb9) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(106, 0xba) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(107, 0xbb) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(108, 0xbc) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(109, 0xbd) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(110, 0xbe) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(111, 0xbf) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(112, 0xc0) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(113, 0xc1) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(114, 0xc2) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(115, 0xc3) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(116, 0xc4) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(117, 0xc5) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(118, 0xc6) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(119, 0xc7) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(120, 0xc8) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(121, 0xc9) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(122, 0xca) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(123, 0xcb) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(124, 0xcc) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(125, 0xcd) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(126, 0xce) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(127, 0xcf) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(128, 0xd0) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(129, 0xd1) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(130, 0xd2) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(131, 0xd3) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(132, 0xd4) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(133, 0xd5) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(134, 0xd6) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(135, 0xd7) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(136, 0xd8) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(137, 0xd9) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(138, 0xda) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(139, 0xdb) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(140, 0xdc) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(141, 0xdd) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(142, 0xde) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(143, 0xdf) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(144, 0xe0) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(145, 0xe1) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(146, 0xe2) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(147, 0xe3) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(148, 0xe4) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(149, 0xe5) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(150, 0xe6) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(151, 0xe7) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(152, 0xe8) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(153, 0xe9) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(154, 0xea) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(155, 0xeb) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(156, 0xec) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(157, 0xed) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(158, 0xee) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(159, 0xef) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(160, 0xf0) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(161, 0xf1) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(162, 0xf2) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(163, 0xf3) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(164, 0xf4) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(165, 0xf5) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(166, 0xf6) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(167, 0xf7) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(168, 0xf8) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(169, 0xf9) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(170, 0xfa) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(171, 0xfb) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(172, 0xfc) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(173, 0xfd) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(174, 0xfe) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(175, 0xff) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(176, 0x100) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(177, 0x101) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(178, 0x102) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(179, 0x103) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(180, 0x104) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(181, 0x105) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(182, 0x106) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(183, 0x107) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(184, 0x108) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(185, 0x109) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(186, 0x10a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(187, 0x10b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(188, 0x10c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(189, 0x10d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(190, 0x10e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(191, 0x10f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(192, 0x110) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(193, 0x111) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(194, 0x112) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(195, 0x113) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(196, 0x114) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(197, 0x115) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(198, 0x116) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(199, 0x117) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(200, 0x118) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(201, 0x119) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(202, 0x11a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(203, 0x11b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(204, 0x11c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(205, 0x11d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(206, 0x11e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(207, 0x11f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(208, 0x120) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(209, 0x121) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(210, 0x122) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(211, 0x123) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(212, 0x124) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(213, 0x125) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(214, 0x126) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(215, 0x127) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(216, 0x128) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(217, 0x129) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(218, 0x12a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(219, 0x12b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(220, 0x12c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(221, 0x12d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(222, 0x12e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(223, 0x12f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(224, 0x130) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(225, 0x131) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(226, 0x132) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(227, 0x133) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(228, 0x134) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(229, 0x135) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(230, 0x136) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(231, 0x137) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(232, 0x138) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(233, 0x139) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(234, 0x13a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(235, 0x13b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(236, 0x13c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(237, 0x13d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(238, 0x13e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(239, 0x13f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(240, 0x140) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(241, 0x141) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(242, 0x142) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(243, 0x143) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(244, 0x144) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(245, 0x145) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(246, 0x146) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(247, 0x147) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(248, 0x148) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(249, 0x149) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(250, 0x14a) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(251, 0x14b) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(252, 0x14c) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(253, 0x14d) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(254, 0x14e) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(255, 0x14f) | ||||
| GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(256, 0x150) | ||||
							
								
								
									
										36
									
								
								Kernel/Arch/i386/Interrupts.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								Kernel/Arch/i386/Interrupts.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| #pragma once | ||||
| 
 | ||||
| #include <AK/Types.h> | ||||
| 
 | ||||
| extern "C" void interrupt_common_asm_entry(); | ||||
| 
 | ||||
| #define GENERATE_GENERIC_INTERRUPT_HANDLER_ASM_ENTRY(interrupt_vector, isr_number) \ | ||||
|     extern "C" void interrupt_##interrupt_vector##_asm_entry();                    \ | ||||
|     asm(".globl interrupt_" #interrupt_vector "_asm_entry\n"                       \ | ||||
|         "interrupt_" #interrupt_vector "_asm_entry:\n"                             \ | ||||
|         "    pushw $" #isr_number "\n"                                             \ | ||||
|         "    pushw $0\n"                                                           \ | ||||
|         "    jmp interrupt_common_asm_entry\n"); | ||||
| 
 | ||||
| asm( | ||||
|     ".globl interrupt_common_asm_entry\n" | ||||
|     "interrupt_common_asm_entry: \n" | ||||
|     "    pusha\n" | ||||
|     "    pushl %ds\n" | ||||
|     "    pushl %es\n" | ||||
|     "    pushl %fs\n" | ||||
|     "    pushl %gs\n" | ||||
|     "    pushl %ss\n" | ||||
|     "    mov $0x10, %ax\n" | ||||
|     "    mov %ax, %ds\n" | ||||
|     "    mov %ax, %es\n" | ||||
|     "    cld\n" | ||||
|     "    call handle_interrupt\n" | ||||
|     "    add $0x4, %esp\n" // "popl %ss"
 | ||||
|     "    popl %gs\n" | ||||
|     "    popl %fs\n" | ||||
|     "    popl %es\n" | ||||
|     "    popl %ds\n" | ||||
|     "    popa\n" | ||||
|     "    add $0x4, %esp\n" | ||||
|     "    iret\n"); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Liav A
						Liav A