TL;DR most uses of lib/console.h -> lk/console_cmd.h
Move the part that lets a piece of code somewhere in the system to
define a console command from the actual lib/console api to start an
instance of the console. Move in almost every place the user of the
console command definition to the new header, lk/console_cmd.h which is
always in the include path.
Also remove most uses of testing for WITH_LIB_CONSOLE since you can
almost always just safely define it and then let the linker remove it.
Examples are include/platform.h -> platform/include/platform.h
include/target.h -> target/include/target.h
The old model generally considered these to be Always There includes,
but they're starting to stick out more and more so may as well actually
follow the model that most of the rest of the system follows.
Almost nothing changes here except moving braces to the same line as the
function declaration. Everything else is largely whitespace changes and
a few dangling files with tab indents.
See scripts/codestyle
-added support for bringing up the clocks and setting up the gpio bits
before starting the uart.
-add a proper target init routine
-add scripts to flash board via openocd
-fixed bug in riscv interrupt save state where it wasn't saving mstatus
on irq entry.
-comment out cycle enabling, not implemented on this core
The STM32F072 and STM32F070 have different vector tables. We can't
#ifdef on the existance of the constans like PVD_IRQn because they
are enum values. Right now, since we only have two supported variants,
we're switching on the variant. This will likely not scale.
-Add support for x86 legacy mode, designed for 386+ instead of pentium+
-Fixup uart driver to support com2
-Stub out PCI driver properly
-Fixup IDE driver to detect legacy disks
Currently targets qemu's sifive_e machine, which is a split flash/ram
machine, much like the Sifive HiFive1. Untested as of yet on a real
HiFive1.
Basic support including interrupts and architectural timers in place.
Support MT6735 platform.
Most files are copied from platform MT6797 without any modification.
The register offsets (mt_reg_base.h) were cross-referenced from the following
source code releases.
http://git.huayusoft.com/tomsu/AP7350_MDK-kernelhttps://github.com/alexgoussev/AP7350_MDK-kernel
ToDo:
1. Porting other peripheral drivers.
2. Check what files can be shared between platforms
then reduce file duplications.
Signed-off-by: Macpaul Lin <macpaul@gmail.com>
Most of the warnings are new, such as needing to mark fallthroughs on
cases explicitly. A few are based on signed vs unsigned comparisons.
Disable one warning that was annoying about comparing null to arguments
marked nonnull.
A bunch of the register access here didn't match STM's docs. The old
code had a few bugs:
1) The EXTI4-15 handler would clear pending bits for interrupts 16-31.
2) GPIO interrupt configuration was very misindexed.
Previously power.c was only implemented for f7, but the
same functionality exists in other stm32 devices, thanks
to CMSIS defines.
This refactors out f7's power.c to platform/stm32/ and adds
deps from f7 and f4.