summaryrefslogtreecommitdiff
path: root/cesar/ecos/packages/hal/sparc
AgeCommit message (Collapse)Author
2013-01-14cesar/hal/arch/dlink: do not flush memory cache in local ram, closes #3652Olivier Dufour
SPARC Architecture Manual Version 8, appendix G.7 strongly advises to call flush after modifying an instruction in memory. The flush instruction will discard two words at least from the processor cache, starting at the adress given to the instruction. However this does not apply to non-cached memory, such as local ram. Moreover, in the specific case of local ram, it could insert a bug. Leon2 XST User's Manual, in section 4.7.1 states that write access to local ram must be word sized. Any other access will generate a data exception trap (0x09). The bug described in #3652 appears to be caused by the flush instruction when executed on a local ram address, as the DSU catched a 0x09 trap, and stalled the CPU, causing the Leon watchdog to expire and Linux to request a reboot.
2012-11-30cesar/{hal/arch,ecos}: use a faster and smaller ISR lock, closes #3404Nicolas Schodet
Original eCos code used a trap to atomically change PSR. This is not needed on our system as PSR is always restored after an ISR execution, therefore read/modify/write sequence is safe. ET bit is cleared to lock ISR. This is acceptable as: - trap instruction is never used in our code, - on error trap, the CPU will stop, but this is the case yet due to DSU configuration (break on error), - no save or restore is used in flat mode, and therefore no window under/overflow. Clearing ET is simpler and faster. This is actually the solution which is used today on phy VSR which never sets ET.
2012-10-22cesar/{common,eoc,hal}: add the second ilram section, refs #3414Nélio Laranjeiro
The following files have been changed because they are included in eCos: - cesar/hal/arch/inc/regs_addr.h: change u32 by unsigned long - cesar/hal/arch/platform.h: put BEGIN_DECLS between #ifdef (__sparc__)
2012-10-19cesar/ecos: change cyg_hal_system_clock_freq type to cyg_uint32, closes #3438Nélio Laranjeiro
2012-09-24cesar/ecos/pkg: move cyg_hal_uart_clock_freq def to sparc file, no refsCyril Jourdan
This is done to correct the compilation of unitary tests using eCos after a modification we made for MSE500 firmware.
2012-09-20cesar/hal/clk: handle uart clk boot param, refs #3356Cyril Jourdan
2012-09-20cesar/{ecos,hal}: add sysclock support in boot params, refs #3147Nélio Laranjeiro
eCos system clock is provided by boot params, this is useful to have the same plc.rom file for mse500 and spc300 without knowing the system clock frequency. This system clock differs from one chip to another (147Mhz for spc300 and ~250Mhz for mse500).
2012-02-07cesar/ecos: define ECOS for cesar parts built under eCos tree, closes #2947Nicolas Schodet
2011-11-02cesar/{ecos,hal/boot_params}: copy boot params from __bin_eof to ↵Yacine Belkadi
boot_params_str, refs #583 Copy the boot parameters from where they are expected to be found at boot time (__bin_eof), to where they are expected to be found after boot time (boot_params_str).
2011-11-02cesar/ecos: add the __bin_eof symbol to the linker script, refs #583Yacine Belkadi
Add the __bin_eof symbol to identify the end of the .bin file. This will be the place where boot code will expect to find the boot parameters passed to Cesar.
2011-08-03cesar/common/make: add support for build types, refs #1080Nicolas Schodet
For now, there is two build types supported: host and target. In makefiles, instead of doing things twice, loops over build types. Each build type can have a separated set of includeds modules and configuration items. This implies that generated header files are placed in a separated directory. Module definition files are included several times, once for each build type.
2011-05-20cesar/ecos: dramatically increase CYGNUM_HAL_STACK_SIZE_MINIMUM, refs #2495Nélio Laranjeiro
2011-05-03cesar/ecos: increase minimum stack size, closes #2495Nélio Laranjeiro
2010-02-23cesar/ecos: merge trace and interrupt stack code, refs #1263schodet
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6773 017c9cb6-072f-447c-8318-d5b54f68fe89
2010-02-23cesar/ecos: fix stack switch for DSR, closes #620schodet
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6772 017c9cb6-072f-447c-8318-d5b54f68fe89
2010-02-23cesar/ecos: do not lock ISR in interrupt_end on a separated stack, refs #623schodet
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6771 017c9cb6-072f-447c-8318-d5b54f68fe89
2010-02-23cesar/ecos: move interrupt stack to local ram, refs #1263schodet
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6768 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-11-12cesar/ecos/packages/hal/sparc/arch: flag unused wrong looking codeschodet
This is done to prevent anyone to copy it. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6364 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-11-12cesar/ecos/packages/hal/sparc: add CPU usage trace, refs #685schodet
This traces context switches, ISR and DSR. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6361 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-11-10cesar/ecos/packages/hal/sparc: useless instruction removedschodet
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6352 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-10-15cesar/ecos/packages/hal/sparc: do not lock ISR on setjmp, refs #612schodet
There is no need for lock when using flat mode. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6136 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-10-08cesar/ecos/packages/hal/sparc: disable interrupt stack for DSR, refs #620schodet
This is a workaround until a real fix is found. Execution of DSR on the interrupt stack makes the system crash. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6033 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-09-17 * all:schodet
- remove unused eCos options. - set default frequency to 100 MHz. - set default baud rate to 115200. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@5588 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-07-27 * common/make, ecos (closes #436):schodet
- use -mcpu=v8 compilation flag to use hardware multiplication and divisions. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@5095 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-04-03 * hal/arch:schodet
- install exception handlers. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4406 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-03-26[CESAR][ECOS]Suppressed set level management for GIC2save
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4313 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-03-24 * ecos/packages/hal/sparc:schodet
- moved interrupt stack as it is used before bss zeroing, overwriting local ram contents. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4282 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-03-20 * ecos, hal/arch, hal/phy:schodet
- added BSS and DATA support for local ram. - moved local ram initial content into .bss. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4275 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-02-19[CESAR][ECOS]Activate burst fetch Data cache on Leonsave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@4051 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-01-29[CESAR][ECOS]Suppressed unused code in the previous commitsave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3892 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-01-29[CESAR][ECOS]Changed initialization of Leon + added configs variables for ↵save
system clk, uart_clk and uart_baudrate git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3891 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-01-26[CESAR][ECOS]Suppressed trailing whitespacessave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3880 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-01-26[CESAR][ECOS]Added the uart configuration + clearing leon registers if we ↵save
detect that we start without GrMon git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3879 017c9cb6-072f-447c-8318-d5b54f68fe89
2009-01-16 * ecos, hal/arch:schodet
- added support for local ram loading. - added local ram macros. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3785 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-11-26 * ecos/packages/hal/sparc/leon:schodet
- added support for program in AHB local ram. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3522 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-11-21[CESAR][ECOS] Added local rams management in eCos and it associated small testsave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3506 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-08-22[CESAR][ECOS] Added a new section for the linker named private. In this ↵save
section you can put any private data, it area can't be overwritten by the eCos heap git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2749 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-07-10CESAR: ECOS: Changed wait for interrupt (power down) management when we are ↵save
in idle mode git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2595 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-07-04CESAR: ECOS: Corrected spidcom debug signals macros when you don't want itsave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2549 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-07-03Integrated in ecos, macros for debugging with logical analysersave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2548 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-06-09CESAR: eCos: Added GIC2 control into eCossave
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2250 017c9cb6-072f-447c-8318-d5b54f68fe89
2008-04-07Moved the complete svn base into the cesar directory.save
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1769 017c9cb6-072f-447c-8318-d5b54f68fe89