diff --git a/c/src/lib/libbsp/powerpc/psim/Makefile.am b/c/src/lib/libbsp/powerpc/psim/Makefile.am index 28c465cd57..c33eecbe6a 100644 --- a/c/src/lib/libbsp/powerpc/psim/Makefile.am +++ b/c/src/lib/libbsp/powerpc/psim/Makefile.am @@ -48,8 +48,10 @@ libbsp_a_SOURCES += ../../shared/console-polled.c libbsp_a_SOURCES += console/console-io.c console/consupp.S # irq -include_bsp_HEADERS = irq/irq.h ../shared/openpic/openpic.h -libbsp_a_SOURCES += irq/irq_init.c ../shared/irq/openpic_i8259_irq.c ../shared/openpic/openpic.c +include_bsp_HEADERS = irq/irq.h ../shared/openpic/openpic.h \ + ../../shared/include/irq-generic.h +libbsp_a_SOURCES += irq/irq_init.c ../shared/irq/openpic_i8259_irq.c ../shared/openpic/openpic.c \ + ../../shared/src/irq-server.c EXTRA_DIST = vectors/README # vectors diff --git a/c/src/lib/libbsp/powerpc/psim/irq/irq.h b/c/src/lib/libbsp/powerpc/psim/irq/irq.h index 963b713467..21b97be3da 100644 --- a/c/src/lib/libbsp/powerpc/psim/irq/irq.h +++ b/c/src/lib/libbsp/powerpc/psim/irq/irq.h @@ -59,6 +59,9 @@ #include +#define BSP_INTERRUPT_VECTOR_MIN BSP_LOWEST_OFFSET +#define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET + #ifdef __cplusplus extern "C" { #endif diff --git a/c/src/lib/libbsp/powerpc/psim/startup/linkcmds b/c/src/lib/libbsp/powerpc/psim/startup/linkcmds index 91fee17f1e..4994bb9e58 100644 --- a/c/src/lib/libbsp/powerpc/psim/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/psim/startup/linkcmds @@ -71,15 +71,23 @@ SECTIONS *(.eh_frame_hdr*) *(.eh_frame*) - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); + /* Special FreeBSD linker set sections */ + __start_set_sysctl_set = .; + *(set_sysctl_*); + __stop_set_sysctl_set = .; + *(set_domain_*); + *(set_pseudo_*); + /* new FreeBSD port section names */ + _bsd__start_set_modmetadata_set = .; + *(_bsd_set_modmetadata_set); + _bsd__stop_set_modmetadata_set = .; + _bsd__start_set_sysctl_set = .; + *(_bsd_set_sysctl_set); + _bsd__stop_set_sysctl_set = .; + + _bsd__start_set_sysinit_set = .; + *(_bsd_set_sysinit_*); + _bsd__stop_set_sysinit_set = .; /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning)