Fixed bug #522.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_2.6.x@7153 35acf78f-673a-0410-8e92-d51de3d6d3f4
Fixed bug #523.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_2.6.x@7163 35acf78f-673a-0410-8e92-d51de3d6d3f4
GCC/ARMCMx: Fix assembler routines

This adds required symbol attributes to _port_exit_from_isr,
fixes an unresolved reference to chThdExit, and prevents factual
problems related to incorrect usage of the naked function attribute.

NOTE: I've only fixed the v7m part, and only the STM32F4xx port.mk
GCC/ARMCMx: Remove remaining instances of 'nekkid'

All those naked functions need to put some clothes on:

"The only statements that can be safely included in naked functions
are asm statements that do not have operands. All other statements,
including declarations of local variables, if statements, and so
forth, should be avoided. Naked functions should be used to
implement the body of an assembly function, while allowing the
compiler to construct the requisite function declaration for the
assembler."

See GCC docs.
I've seen that they're not joking about it being unsafe.

Also, displays of public nudity are illegal in most places.
STM32F4: Add STM32_USE_FLASH_PREFETCH option

Enabling flash prefetch results in increased ADC noise. See AN4073.
Lower ADC noise may be useful for some applications.

It's also not supported (causes problems) on STM32F4 rev. A.
See the errata (they actually mean the instruction prefetch queue,
not the prefetch queue instruction, which doesn't exist).

ST Standard Peripheral Library (yes, ick) does not enable prefetch.
GCC/ARMCMx: Add the used attribute to the interrupt vector table

Without the attribute, the linker may remove the vector table,
because it has no references.

This is the cause of the remaining LTO issues.
STM32 OTG: fix OTGv1 usb_lld_start
STM32F4 clock init: don't assume regs have reset values
STM32 USARTv1: Bolt-on DMA RX FIFO mode
STM32 OTG: fix multipacket OUT transfers

Conflicts:
	os/hal/platforms/STM32/OTGv1/usb_lld.c
stm32f30x: disable GPIOE
stm32f30xx6/8: fix usb support
stm32f30xx6/8: DMA fixes
stm32f30xx6/8: some clocking fixes
stm32f30xx6/8: allow to disable HSI