x86_init.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef _ASM_X86_PLATFORM_H
  2. #define _ASM_X86_PLATFORM_H
  3. struct mpc_cpu;
  4. /**
  5. * struct x86_init_mpparse - platform specific mpparse ops
  6. * @mpc_record: platform specific mpc record accounting
  7. * @setup_ioapic_ids: platform specific ioapic id override
  8. * @mpc_apic_id: platform specific mpc apic id assignment
  9. */
  10. struct x86_init_mpparse {
  11. void (*mpc_record)(unsigned int mode);
  12. void (*setup_ioapic_ids)(void);
  13. int (*mpc_apic_id)(struct mpc_cpu *m);
  14. };
  15. /**
  16. * struct x86_init_resources - platform specific resource related ops
  17. * @probe_roms: probe BIOS roms
  18. * @reserve_resources: reserve the standard resources for the
  19. * platform
  20. * @reserve_ebda_region: reserve the extended bios data area
  21. * @memory_setup: platform specific memory setup
  22. *
  23. */
  24. struct x86_init_resources {
  25. void (*probe_roms)(void);
  26. void (*reserve_resources)(void);
  27. void (*reserve_ebda_region)(void);
  28. char *(*memory_setup)(void);
  29. };
  30. /**
  31. * struct x86_init_ops - functions for platform specific setup
  32. *
  33. */
  34. struct x86_init_ops {
  35. struct x86_init_resources resources;
  36. struct x86_init_mpparse mpparse;
  37. };
  38. extern struct x86_init_ops x86_init;
  39. extern void x86_init_noop(void);
  40. extern void x86_init_uint_noop(unsigned int unused);
  41. #endif