363 #define APIC_AVAIL_VECTOR (APIC_MAX_VECTOR+1-APIC_BASE_VECT)
364 #define APIC_VECTOR_PER_IPL 0x10 /* # of vectors before PRI changes */
365 #define APIC_VECTOR(ipl) (apic_ipltopri[ipl] | APIC_RESV_VECT)
366 #define APIC_VECTOR_MASK 0x0f
367 #define APIC_HI_PRI_VECTS 2 /* vects reserved for hi pri reqs */
368 #define APIC_IPL_MASK 0xf0
369 #define APIC_IPL_SHIFT 4 /* >> to get ipl part of vector */
370 #define APIC_FIRST_FREE_IRQ 0x10
371 #define APIC_MAX_ISA_IRQ 15
372 #define APIC_IPL0 0x0f /* let IDLE_IPL be the lowest */
373 #define APIC_IDLE_IPL 0x00
374
375 #define APIC_MASK_ALL 0xf0 /* Mask all interrupts */
376
377 /* spurious interrupt vector */
378 #define APIC_SPUR_INTR 0xFF
379
380 /* special or reserve vectors */
381 #define APIC_CHECK_RESERVE_VECTORS(v) \
382 (((v) == T_FASTTRAP) || ((v) == APIC_SPUR_INTR) || \
383 ((v) == T_SYSCALLINT) || ((v) == T_DTRACE_RET))
384
385 /* cmos shutdown code for BIOS */
386 #define BIOS_SHUTDOWN 0x0a
387
388 /* define the entry types for BIOS information tables as defined in PC+MP */
389 #define APIC_CPU_ENTRY 0
390 #define APIC_BUS_ENTRY 1
391 #define APIC_IO_ENTRY 2
392 #define APIC_IO_INTR_ENTRY 3
393 #define APIC_LOCAL_INTR_ENTRY 4
394 #define APIC_MPTBL_ADDR (639 * 1024)
395 /*
396 * The MP Floating Point structure could be in 1st 1KB of EBDA or last KB
397 * of system base memory or in ROM between 0xF0000 and 0xFFFFF
398 */
399 #define MPFPS_RAM_WIN_LEN 1024
400 #define MPFPS_ROM_WIN_START (uint32_t)0xf0000
401 #define MPFPS_ROM_WIN_LEN 0x10000
402
403 #define EISA_LEVEL_CNTL 0x4D0
|
363 #define APIC_AVAIL_VECTOR (APIC_MAX_VECTOR+1-APIC_BASE_VECT)
364 #define APIC_VECTOR_PER_IPL 0x10 /* # of vectors before PRI changes */
365 #define APIC_VECTOR(ipl) (apic_ipltopri[ipl] | APIC_RESV_VECT)
366 #define APIC_VECTOR_MASK 0x0f
367 #define APIC_HI_PRI_VECTS 2 /* vects reserved for hi pri reqs */
368 #define APIC_IPL_MASK 0xf0
369 #define APIC_IPL_SHIFT 4 /* >> to get ipl part of vector */
370 #define APIC_FIRST_FREE_IRQ 0x10
371 #define APIC_MAX_ISA_IRQ 15
372 #define APIC_IPL0 0x0f /* let IDLE_IPL be the lowest */
373 #define APIC_IDLE_IPL 0x00
374
375 #define APIC_MASK_ALL 0xf0 /* Mask all interrupts */
376
377 /* spurious interrupt vector */
378 #define APIC_SPUR_INTR 0xFF
379
380 /* special or reserve vectors */
381 #define APIC_CHECK_RESERVE_VECTORS(v) \
382 (((v) == T_FASTTRAP) || ((v) == APIC_SPUR_INTR) || \
383 ((v) == T_SYSCALLINT) || ((v) == T_DTRACE_RET) || ((v) == 0x80))
384
385 /* cmos shutdown code for BIOS */
386 #define BIOS_SHUTDOWN 0x0a
387
388 /* define the entry types for BIOS information tables as defined in PC+MP */
389 #define APIC_CPU_ENTRY 0
390 #define APIC_BUS_ENTRY 1
391 #define APIC_IO_ENTRY 2
392 #define APIC_IO_INTR_ENTRY 3
393 #define APIC_LOCAL_INTR_ENTRY 4
394 #define APIC_MPTBL_ADDR (639 * 1024)
395 /*
396 * The MP Floating Point structure could be in 1st 1KB of EBDA or last KB
397 * of system base memory or in ROM between 0xF0000 and 0xFFFFF
398 */
399 #define MPFPS_RAM_WIN_LEN 1024
400 #define MPFPS_ROM_WIN_START (uint32_t)0xf0000
401 #define MPFPS_ROM_WIN_LEN 0x10000
402
403 #define EISA_LEVEL_CNTL 0x4D0
|