phys_addr_t __mips_cm_phys_base(void) { u32 config3 = read_c0_config3(); unsigned long cmgcr; /* Check the CMGCRBase register is implemented */ if (!(config3 & MIPS_CONF3_CMGCR)) return 0; /* Read the address from CMGCRBase */ cmgcr = read_c0_cmgcrbase(); return (cmgcr & MIPS_CMGCRF_BASE) << (36 - 32); } phys_addr_t mips_cm_phys_base(void) __attribute__((weak, alias("__mips_cm_phys_base"))); phys_addr_t __mips_cm_l2sync_phys_base(void) { u32 base_reg; /* * If the L2-only sync region is already enabled then leave it at it's * current location. */ base_reg = read_gcr_l2_only_sync_base(); if (base_reg & CM_GCR_L2_ONLY_SYNC_BASE_SYNCEN_MSK) return base_reg & CM_GCR_L2_ONLY_SYNC_BASE_SYNCBASE_MSK; /* Default to following the CM */ return mips_cm_phys_base() + MIPS_CM_GCR_SIZE;
#endif #elif defined(HAVE_PRAGMA_CRI_DUP) #if defined(F77_NAME_UPPER) #pragma _CRI duplicate MPI_REQUEST_FREE as PMPI_REQUEST_FREE #elif defined(F77_NAME_LOWER_2USCORE) #pragma _CRI duplicate mpi_request_free__ as pmpi_request_free__ #elif !defined(F77_NAME_LOWER_USCORE) #pragma _CRI duplicate mpi_request_free as pmpi_request_free #else #pragma _CRI duplicate mpi_request_free_ as pmpi_request_free_ #endif #elif defined(HAVE_WEAK_ATTRIBUTE) #if defined(F77_NAME_UPPER) extern FORT_DLL_SPEC void FORT_CALL MPI_REQUEST_FREE( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_REQUEST_FREE"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free__( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_REQUEST_FREE"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free_( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_REQUEST_FREE"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_REQUEST_FREE"))); #elif defined(F77_NAME_LOWER_2USCORE) extern FORT_DLL_SPEC void FORT_CALL MPI_REQUEST_FREE( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free__"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free__( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free__"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free_( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free__"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free__"))); #elif defined(F77_NAME_LOWER_USCORE) extern FORT_DLL_SPEC void FORT_CALL MPI_REQUEST_FREE( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free_"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free__( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free_"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free_( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free_"))); extern FORT_DLL_SPEC void FORT_CALL mpi_request_free( MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_request_free_")));
/* Sign extension */ #if (NEFF == 32) pteh = (unsigned long long)(signed long long)(signed long) eaddr; #else #error "Can't sign extend more than 32 bits yet" #endif pteh &= PAGE_MASK; pteh |= (asid << PTEH_ASID_SHIFT) | PTEH_VALID; #if (NEFF == 32) ptel = (unsigned long long)(signed long long)(signed long) paddr; #else #error "Can't sign extend more than 32 bits yet" #endif ptel &= PAGE_MASK; ptel |= (_PAGE_CACHABLE | _PAGE_READ | _PAGE_WRITE); asm volatile("putcfg %0, 1, %1\n\t" "putcfg %0, 0, %2\n" : : "r" (config_addr), "r" (ptel), "r" (pteh)); } /** * sh64_teardown_tlb_slot * * @config_addr: Address of TLB slot. * * Teardown any existing mapping in the TLB slot @config_addr. */ inline void sh64_teardown_tlb_slot(unsigned long long config_addr) __attribute__ ((alias("__flush_tlb_slot")));
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pios.h> #if defined(PIOS_INCLUDE_SPI) #include <pios_spi_priv.h> /* OP Interface * * NOTE: Leave this declared as const data so that it ends up in the * .rodata section (ie. Flash) rather than in the .bss section (RAM). */ void PIOS_SPI_op_irq_handler(void); void DMA1_Channel5_IRQHandler() __attribute__ ((alias("PIOS_SPI_op_irq_handler"))); void DMA1_Channel4_IRQHandler() __attribute__ ((alias("PIOS_SPI_op_irq_handler"))); static const struct pios_spi_cfg pios_spi_op_cfg = { .regs = SPI2, .init = { .SPI_Mode = SPI_Mode_Slave, .SPI_Direction = SPI_Direction_2Lines_FullDuplex, .SPI_DataSize = SPI_DataSize_8b, .SPI_NSS = SPI_NSS_Hard, .SPI_FirstBit = SPI_FirstBit_MSB, .SPI_CRCPolynomial = 7, .SPI_CPOL = SPI_CPOL_High, .SPI_CPHA = SPI_CPHA_2Edge, }, .use_crc = TRUE, .dma = {
#include <asm/fsl_lbc.h> #include <post.h> #include <asm/processor.h> #include <fsl_ddr_sdram.h> DECLARE_GLOBAL_DATA_PTR; /* * Default board reset function */ static void __board_reset(void) { /* Do nothing */ } void board_reset(void) __attribute__((weak, alias("__board_reset"))); int checkcpu (void) { sys_info_t sysinfo; uint pvr, svr; uint ver; uint major, minor; struct cpu_type *cpu; char buf1[32], buf2[32]; #if defined(CONFIG_DDR_CLK_FREQ) || defined(CONFIG_FSL_CORENET) ccsr_gur_t __iomem *gur = (void __iomem *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); #endif /*
*/ #include "mpioimpl.h" #ifdef HAVE_WEAK_SYMBOLS #if defined(HAVE_PRAGMA_WEAK) #pragma weak MPI_File_read_all = PMPI_File_read_all #elif defined(HAVE_PRAGMA_HP_SEC_DEF) #pragma _HP_SECONDARY_DEF PMPI_File_read_all MPI_File_read_all #elif defined(HAVE_PRAGMA_CRI_DUP) #pragma _CRI duplicate MPI_File_read_all as PMPI_File_read_all /* end of weak pragmas */ #elif defined(HAVE_WEAK_ATTRIBUTE) int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) __attribute__((weak,alias("PMPI_File_read_all"))); #endif /* Include mapping from MPI->PMPI */ #define MPIO_BUILD_PROFILING #include "mpioprof.h" #endif /* status object not filled currently */ /*@ MPI_File_read_all - Collective read using individual file pointer Input Parameters: . fh - file handle (handle) . count - number of elements in buffer (nonnegative integer)
* * (C) Copyright 2003 * Gleb Natapov <*****@*****.**> * * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> #include <asm/processor.h> #include <watchdog.h> #ifdef CONFIG_STATUS_LED #include <status_led.h> #endif #ifdef CONFIG_SHOW_ACTIVITY void board_show_activity (ulong) __attribute__((weak, alias("__board_show_activity"))); void __board_show_activity (ulong dummy) { return; } #endif /* CONFIG_SHOW_ACTIVITY */ #ifndef CONFIG_SYS_WATCHDOG_FREQ #define CONFIG_SYS_WATCHDOG_FREQ (CONFIG_SYS_HZ / 2) #endif extern int interrupt_init_cpu (unsigned *); extern void timer_interrupt_cpu (struct pt_regs *); static unsigned decrementer_count; /* count value for 1e6/HZ microseconds */
break; } out: if ((checkexit & exitstatus) || (pendingsigs && dotrap()) || (flags & EV_EXIT)) exraise(EXEXIT); } #if !defined(__alpha__) || (defined(__GNUC__) && __GNUC__ >= 3) STATIC #endif void evaltreenr(union node *n, int flags) #ifdef HAVE_ATTRIBUTE_ALIAS __attribute__ ((alias("evaltree"))); #else { evaltree(n, flags); abort(); } #endif STATIC void evalloop(union node *n, int flags) { int status; loopnest++; status = 0;
* See COPYRIGHT in top-level directory. */ #include "mpiimpl.h" /* -- Begin Profiling Symbol Block for routine MPI_Type_create_hindexed */ #if defined(HAVE_PRAGMA_WEAK) #pragma weak MPI_Type_create_hindexed = PMPI_Type_create_hindexed #elif defined(HAVE_PRAGMA_HP_SEC_DEF) #pragma _HP_SECONDARY_DEF PMPI_Type_create_hindexed MPI_Type_create_hindexed #elif defined(HAVE_PRAGMA_CRI_DUP) #pragma _CRI duplicate MPI_Type_create_hindexed as PMPI_Type_create_hindexed #elif defined(HAVE_WEAK_ATTRIBUTE) int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype) __attribute__((weak,alias("PMPI_Type_create_hindexed"))); #endif /* -- End Profiling Symbol Block */ /* Define MPICH_MPI_FROM_PMPI if weak symbols are not supported to build the MPI routines */ #ifndef MPICH_MPI_FROM_PMPI #undef MPI_Type_create_hindexed #define MPI_Type_create_hindexed PMPI_Type_create_hindexed #endif #undef FUNCNAME #define FUNCNAME MPI_Type_create_hindexed /*@
//See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/Cihdjcfc.html for reference bool isFaultPrecise = ((SCB->CFSR >> SCB_CFSR_BUSFAULTSR_Pos) & (1 << 1) ? true : false); bool isFaultImprecise = ((SCB->CFSR >> SCB_CFSR_BUSFAULTSR_Pos) & (1 << 2) ? true : false); bool isFaultOnUnstacking = ((SCB->CFSR >> SCB_CFSR_BUSFAULTSR_Pos) & (1 << 3) ? true : false); bool isFaultOnStacking = ((SCB->CFSR >> SCB_CFSR_BUSFAULTSR_Pos) & (1 << 4) ? true : false); bool isFaultAddressValid = ((SCB->CFSR >> SCB_CFSR_BUSFAULTSR_Pos) & (1 << 7) ? true : false); (void)isFaultPrecise; (void)isFaultImprecise; (void)isFaultOnUnstacking; (void)isFaultOnStacking; (void)isFaultAddressValid; //Cause debugger to stop. Ignored if no debugger is attached while(1) {} } void BusFault_Handler(void) __attribute__((alias("HardFault_Handler"))); void UsageFault_Handler(void); void UsageFault_Handler(void) { //Copy to local variables (not pointers) to allow GDB "i loc" to directly show the info //Get thread context. Contains main registers including PC and LR struct port_extctx ctx; memcpy(&ctx, (void*)__get_PSP(), sizeof(struct port_extctx)); (void)ctx; //Interrupt status register: Which interrupt have we encountered, e.g. HardFault? FaultType faultType = (FaultType)__get_IPSR(); (void)faultType; //Flags about hardfault / busfault //See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/Cihdjcfc.html for reference bool isUndefinedInstructionFault = ((SCB->CFSR >> SCB_CFSR_USGFAULTSR_Pos) & (1 << 0) ? true : false); bool isEPSRUsageFault = ((SCB->CFSR >> SCB_CFSR_USGFAULTSR_Pos) & (1 << 1) ? true : false);
#ifdef CFG_HUSH_PARSER #include <hush.h> #endif #include <post.h> #ifdef CONFIG_SILENT_CONSOLE DECLARE_GLOBAL_DATA_PTR; #endif /* * Board-specific Platform code can reimplement show_boot_progress () if needed */ void inline __show_boot_progress (int val) {} void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress"))); #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY) extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); /* for do_reset() prototype */ #endif extern int do_bootd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); #define MAX_DELAY_STOP_STR 32 static int parse_line (char *, char *[]); #if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0) static int abortboot(int); #endif
#endif #elif defined(HAVE_PRAGMA_CRI_DUP) #if defined(F77_NAME_UPPER) #pragma _CRI duplicate MPI_WIN_GET_ERRHANDLER as PMPI_WIN_GET_ERRHANDLER #elif defined(F77_NAME_LOWER_2USCORE) #pragma _CRI duplicate mpi_win_get_errhandler__ as pmpi_win_get_errhandler__ #elif !defined(F77_NAME_LOWER_USCORE) #pragma _CRI duplicate mpi_win_get_errhandler as pmpi_win_get_errhandler #else #pragma _CRI duplicate mpi_win_get_errhandler_ as pmpi_win_get_errhandler_ #endif #elif defined(HAVE_WEAK_ATTRIBUTE) #if defined(F77_NAME_UPPER) extern FORT_DLL_SPEC void FORT_CALL MPI_WIN_GET_ERRHANDLER( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_WIN_GET_ERRHANDLER"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_WIN_GET_ERRHANDLER"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_WIN_GET_ERRHANDLER"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("PMPI_WIN_GET_ERRHANDLER"))); #elif defined(F77_NAME_LOWER_2USCORE) extern FORT_DLL_SPEC void FORT_CALL MPI_WIN_GET_ERRHANDLER( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler__"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler__"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler__"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler__"))); #elif defined(F77_NAME_LOWER_USCORE) extern FORT_DLL_SPEC void FORT_CALL MPI_WIN_GET_ERRHANDLER( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler_"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler__( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler_"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler_( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler_"))); extern FORT_DLL_SPEC void FORT_CALL mpi_win_get_errhandler( MPI_Fint *, MPI_Fint *, MPI_Fint * ) __attribute__((weak,alias("pmpi_win_get_errhandler_")));
if (fm_info[i].enabled) return fm_info[i].enet_if; return PHY_INTERFACE_MODE_NONE; } static void __def_board_ft_fman_fixup_port(void *blob, char * prop, phys_addr_t pa, enum fm_port port, int offset) { return ; } void board_ft_fman_fixup_port(void *blob, char * prop, phys_addr_t pa, enum fm_port port, int offset) __attribute__((weak, alias("__def_board_ft_fman_fixup_port"))); static void ft_fixup_port(void *blob, struct fm_eth_info *info, char *prop) { int off; uint32_t ph; phys_addr_t paddr = CONFIG_SYS_CCSRBAR_PHYS + info->compat_offset; u64 dtsec1_addr = (u64)CONFIG_SYS_CCSRBAR_PHYS + CONFIG_SYS_FSL_FM1_DTSEC1_OFFSET; off = fdt_node_offset_by_compat_reg(blob, prop, paddr); if (info->enabled) { fdt_fixup_phy_connection(blob, off, info->enet_if); board_ft_fman_fixup_port(blob, prop, paddr, info->port, off); return ;
/************************************************************************ * Default settings to be used when no valid environment is found */ #include <env_default.h> struct hsearch_data env_htab = { .change_ok = env_flags_validate, }; static uchar __env_get_char_spec(int index) { return *((uchar *)(gd->env_addr + index)); } uchar env_get_char_spec(int) __attribute__((weak, alias("__env_get_char_spec"))); static uchar env_get_char_init(int index) { /* if crc was bad, use the default environment */ if (gd->env_valid) return env_get_char_spec(index); else return default_environment[index]; } uchar env_get_char_memory(int index) { return *env_get_addr(index); }
extern void * ffoo1e (void); extern void * ffoo1e (void) __attribute__((weak)); void * foo1e (void) { if (ffoo1e) ffoo1e (); return 0; } extern void * ffoo1f (void); extern void * ffoox1f (void); void * foo1f (void) { if (ffoo1f) ffoo1f (); return 0; } extern void * ffoo1f (void) __attribute__((weak, alias ("ffoox1f"))); /* { dg-warning "weak declaration" "weak declaration" } */ extern void * ffoo1g (void); extern void * ffoox1g (void); extern void * ffoo1g (void) __attribute__((weak, alias ("ffoox1g"))); void * foo1g (void) { if (ffoo1g) ffoo1g (); return 0; }
* (C) 2001 by Argonne National Laboratory. * See COPYRIGHT in top-level directory. */ #include "mpiimpl.h" #include "group.h" /* -- Begin Profiling Symbol Block for routine MPI_Group_range_incl */ #if defined(HAVE_PRAGMA_WEAK) #pragma weak MPI_Group_range_incl = PMPI_Group_range_incl #elif defined(HAVE_PRAGMA_HP_SEC_DEF) #pragma _HP_SECONDARY_DEF PMPI_Group_range_incl MPI_Group_range_incl #elif defined(HAVE_PRAGMA_CRI_DUP) #pragma _CRI duplicate MPI_Group_range_incl as PMPI_Group_range_incl #elif defined(HAVE_WEAK_ATTRIBUTE) int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) __attribute__((weak,alias("PMPI_Group_range_incl"))); #endif /* -- End Profiling Symbol Block */ /* Define MPICH_MPI_FROM_PMPI if weak symbols are not supported to build the MPI routines */ #ifndef MPICH_MPI_FROM_PMPI #undef MPI_Group_range_incl #define MPI_Group_range_incl PMPI_Group_range_incl #undef FUNCNAME #define FUNCNAME MPIR_Group_range_incl_impl #undef FCNAME #define FCNAME MPL_QUOTE(FUNCNAME) int MPIR_Group_range_incl_impl(MPID_Group *group_ptr, int n, int ranges[][3], MPID_Group **new_group_ptr) {
[IH_OS_PLAN9] = do_bootm_plan9, #endif #if defined(CONFIG_CMD_ELF) [IH_OS_VXWORKS] = do_bootm_vxworks, [IH_OS_QNX] = do_bootm_qnxelf, #endif }; bootm_headers_t images; /* pointers to os/initrd/fdt images */ /* Allow for arch specific config before we boot */ static void __arch_preboot_os(void) { /* please define platform specific arch_preboot_os() */ } void arch_preboot_os(void) __attribute__((weak, alias("__arch_preboot_os"))); #define IH_INITRD_ARCH IH_ARCH_DEFAULT static void boot_start_lmb(bootm_headers_t *images) { ulong mem_start; phys_size_t mem_size; lmb_init(&images->lmb); mem_start = getenv_bootm_low(); mem_size = getenv_bootm_size(); lmb_add(&images->lmb, (phys_addr_t)mem_start, mem_size);
#endif strcpy(info->phy_name, "unknown"); info->phyname_init = 1; break; } } } if (phyaddr < 0) printf("No PHY device found.\n"); return phyaddr; } #endif /* CONFIG_SYS_DISCOVER_PHY */ void mii_init(void) __attribute__((weak,alias("__mii_init"))); void __mii_init(void) { FEC_INFO_T *info; volatile FEC_T *fecp; struct eth_device *dev; int miispd = 0, i = 0; u16 status = 0; u16 linkgood = 0; /* retrieve from register structure */ dev = eth_get_dev(); info = dev->priv; fecp = (FEC_T *) info->miibase;
return &s5pc1xx_serial1_device; #elif defined(CONFIG_SERIAL2) return &s5pc1xx_serial2_device; #elif defined(CONFIG_SERIAL3) return &s5pc1xx_serial3_device; #else #error "CONFIG_SERIAL? missing." #endif #elif defined(CONFIG_OMAP3_ZOOM2) return ZOOM2_DEFAULT_SERIAL_DEVICE; #else #error No default console #endif } struct serial_device *default_serial_console(void) __attribute__((weak, alias("__default_serial_console"))); #endif int serial_register (struct serial_device *dev) { #ifndef CONFIG_RELOC_FIXUP_WORKS dev->init += gd->reloc_off; dev->setbrg += gd->reloc_off; dev->getc += gd->reloc_off; dev->tstc += gd->reloc_off; dev->putc += gd->reloc_off; dev->puts += gd->reloc_off; #endif dev->next = serial_devices; serial_devices = dev;
#include <stdlib.h> volatile int func() { return 4; } volatile int func2() __attribute__((visibility("hidden"), alias("func"))); int main() { if (func2() != 4) { abort(); } }
extern uint32_t _szero; extern uint32_t _ezero; extern uint32_t _sstack; extern uint32_t _estack; /** \cond DOXYGEN_SHOULD_SKIP_THIS */ int main(void); /** \endcond */ void __libc_init_array(void); /* Default empty handler */ void Dummy_Handler(void); /* Cortex-M0+ core handlers */ void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* Peripherals handlers */ void PM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void SYSCTRL_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void EIC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void NVMCTRL_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void DMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void USB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); void EVSYS_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
* Including .c files is a bit ugly but this allows all of * the HW definitions to be const and static to limit their * scope. * * NOTE: THIS IS THE ONLY PLACE THAT SHOULD EVER INCLUDE THIS FILE */ #include "../board_hw_defs.c" /** * Sensor configurations */ #if defined(PIOS_INCLUDE_ADC) #include "pios_adc_priv.h" void PIOS_ADC_DMC_irq_handler(void); void DMA2_Stream4_IRQHandler(void) __attribute__((alias("PIOS_ADC_DMC_irq_handler"))); struct pios_adc_cfg pios_adc_cfg = { .adc_dev = ADC1, .dma = { .irq = { .flags = (DMA_FLAG_TCIF4 | DMA_FLAG_TEIF4 | DMA_FLAG_HTIF4), .init = { .NVIC_IRQChannel = DMA2_Stream4_IRQn, .NVIC_IRQChannelPreemptionPriority = PIOS_IRQ_PRIO_LOW, .NVIC_IRQChannelSubPriority = 0, .NVIC_IRQChannelCmd = ENABLE, }, }, .rx = { .channel = DMA2_Stream4, .init = {
disp_buffer_mask = buffer1_mask; } /** * @brief Interrupt for half and full buffer transfer * * This interrupt handler swaps between the two halfs of the double buffer to make * sure the ahrs uses the most recent data. Only swaps data when AHRS is idle, but * really this is a pretense of a sanity check since the DMA engine is consantly * running in the background. Keep an eye on the ekf_too_slow variable to make sure * it's keeping up. */ void PIOS_VIDEO_DMA_Handler(void); void DMA1_Stream7_IRQHandler(void) __attribute__ ((alias("PIOS_VIDEO_DMA_Handler"))); void DMA2_Stream5_IRQHandler(void) __attribute__ ((alias("PIOS_VIDEO_DMA_Handler"))); void PIOS_VIDEO_DMA_Handler(void) { if (DMA_GetFlagStatus(DMA1_Stream7,DMA_FLAG_TCIF7)) { // transfer completed load next line DMA_ClearFlag(DMA1_Stream7,DMA_FLAG_TCIF7); //PIOS_LED_Off(LED2); /*if(gLineType == LINE_TYPE_GRAPHICS) { // Load new line DMA_Cmd(dev_cfg->mask.dma.tx.channel, DISABLE); DMA_Cmd(dev_cfg->level.dma.tx.channel, DISABLE); DMA_MemoryTargetConfig(dev_cfg->level.dma.tx.channel,(uint32_t)&disp_buffer_level[line],DMA_Memory_0); DMA_MemoryTargetConfig(dev_cfg->mask.dma.tx.channel,(uint32_t)&disp_buffer_mask[line],DMA_Memory_0);
(uintptr_t)cmd_line - (uintptr_t)setup_base; hdr->setup_move_size = 0x9100; } /* build command line at COMMAND_LINE_OFFSET */ build_command_line(cmd_line, auto_boot); } setup_video(&setup_base->screen_info); return 0; } void setup_pcat_compatibility(void) __attribute__((weak, alias("__setup_pcat_compatibility"))); void __setup_pcat_compatibility(void) { } int do_zboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { struct boot_params *base_ptr; void *bzImage_addr = NULL; ulong load_address; char *s; ulong bzImage_size = 0; ulong initrd_addr = 0; ulong initrd_size = 0;
fprintf(out, "0x%jx:%s ", kv->kve_start, kv->kve_path); } } fprintf(out, "\n"); fclose(out); free(buf); } #else #error Port me #endif #ifdef __GNUC__ int a(void) __attribute__((noinline)); int b(int x) __attribute__((noinline)); int c(int x) __attribute__((noinline, alias("b"))); #define compiler_barrier() asm volatile(""); #else int a(void); int b(int x); int c(int x); #define compiler_barrier() #endif int a(void) { *(volatile int *)32 = 1; return 1; } int b(int x)
}, .gpio_init = { .GPIO_Mode = GPIO_Mode_AF_PP, .GPIO_Speed = GPIO_Speed_2MHz, }, .remap = 0, .channels = pios_servo_channels, .num_channels = NELEMENTS(pios_servo_channels), }; #if defined(PIOS_INCLUDE_PPM) /* * PPM Input */ void TIM1_CC_IRQHandler(); void TIM1_CC_IRQHandler() __attribute__ ((alias ("PIOS_TIM1_CC_irq_handler"))); const struct pios_ppm_cfg pios_ppm_cfg = { .tim_base_init = { .TIM_Prescaler = (PIOS_MASTER_CLOCK / 1000000) - 1, /* For 1 uS accuracy */ .TIM_ClockDivision = TIM_CKD_DIV1, .TIM_CounterMode = TIM_CounterMode_Up, .TIM_Period = 0xFFFF, .TIM_RepetitionCounter = 0x0000, }, .tim_ic_init = { .TIM_Channel = TIM_Channel_2, .TIM_ICPolarity = TIM_ICPolarity_Rising, .TIM_ICSelection = TIM_ICSelection_DirectTI, .TIM_ICPrescaler = TIM_ICPSC_DIV1, .TIM_ICFilter = 0x0, },
if (ret) { printf("POST: gpio hotkey request failed\n"); return 0; } gpio_direction_input(gpio); ret = gpio_get_value(gpio); gpio_free(gpio); return ret; #endif return 0; /* No hotkeys supported */ } int post_hotkeys_pressed(void) __attribute__((weak, alias("__post_hotkeys_pressed"))); void post_bootmode_init (void) { int bootmode = post_bootmode_get (0); int newword; if (post_hotkeys_pressed() && !(bootmode & POST_POWERTEST)) { newword = BOOTMODE_MAGIC | POST_SLOWTEST; } else if (bootmode == 0) { newword = BOOTMODE_MAGIC | POST_POWERON; } else if (bootmode == POST_POWERON || bootmode == POST_SLOWTEST) { newword = BOOTMODE_MAGIC | POST_NORMAL; } else { /* Use old value */
* dst(i, j) = c + src(i, j). */ #include <mlib_ImageCheck.h> #include <mlib_image.h> /* *********************************************************** */ #if ! defined(__MEDIALIB_OLD_NAMES) #if defined(__SUNPRO_C) #pragma weak mlib_ImageConstAdd = __mlib_ImageConstAdd #elif defined(__GNUC__) /* defined(__SUNPRO_C) */ __typeof__(__mlib_ImageConstAdd) mlib_ImageConstAdd __attribute__((weak, alias("__mlib_ImageConstAdd"))); #else /* defined(__SUNPRO_C) */ #error "unknown platform" #endif /* defined(__SUNPRO_C) */ #endif /* ! defined(__MEDIALIB_OLD_NAMES) */ /* *********************************************************** */ static mlib_status mlib_i_ImageConstAdd_U8( mlib_image *dst, const mlib_image *src, const mlib_s32 *c);
#include <stdlib.h> #include <unistd.h> typedef void (*function)(void); #define NUM_ATEXIT 32 static function __atexitlist[NUM_ATEXIT]; static int atexit_counter; int atexit(function t) { if (atexit_counter<NUM_ATEXIT) { __atexitlist[atexit_counter]=t; ++atexit_counter; return 0; } return -1; } void __libc_exit(int code); void __libc_exit(int code) { register int i=atexit_counter; while(i) { __atexitlist[--i](); } _exit(code); } void exit(int code) __attribute__((alias("__libc_exit")));
esp_timer_delete(ESP_TIMER(ptimer)); ptimer->timer_arg = NULL; TIMER_INITIALIZED_FIELD(ptimer) = 0; } } void IRAM_ATTR ets_timer_disarm(ETSTimer *ptimer) { if (timer_initialized(ptimer)) { esp_timer_stop(ESP_TIMER(ptimer)); } } void ets_timer_init(void) { } void ets_timer_deinit(void) { } void os_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg) __attribute__((alias("ets_timer_setfn"))); void os_timer_disarm(ETSTimer *ptimer) __attribute__((alias("ets_timer_disarm"))); void os_timer_arm_us(ETSTimer *ptimer,uint32_t u_seconds,bool repeat_flag) __attribute__((alias("ets_timer_arm_us"))); void os_timer_arm(ETSTimer *ptimer,uint32_t milliseconds,bool repeat_flag) __attribute__((alias("ets_timer_arm"))); void os_timer_done(ETSTimer *ptimer) __attribute__((alias("ets_timer_done")));