Bamboo
77e157a984
Release 9.0.1
...
Update VERSION
Update CHANGES
2018-04-18 10:10:14 +10:00
Adrian Danis
679c0b09ed
Remove strlen
...
This is not suitable for verification and strnlen must be used instead.
2018-04-18 10:10:14 +10:00
Adrian Danis
93c1801994
riscv: Use strnlen over strlen
...
strlen cannot currently go through the verification framework, so we shall opt to use
strnlen with a sufficiently large maxlen.
2018-04-18 10:10:14 +10:00
Adrian Danis
82c997aebe
Expose string functions in all builds
...
These are useful beyond just debug and printing builds
2018-04-18 10:10:14 +10:00
Anna Lyons
1b68590b3f
riscv: use one definition of page bits
2018-04-18 10:10:14 +10:00
Adrian Danis
06a66cd1ca
trivial: style
2018-04-18 10:10:14 +10:00
Adrian Danis
43e1705280
Remove strcmp
...
This function causes difficulties for verification and strncmp should be used instead.
2018-04-18 10:10:14 +10:00
Adrian Danis
81e821b176
riscv: Use strncmp instead of strcmp
...
strcmp is difficult to prove correspondence with in verification and it is easier to
replace with strncmp for the moment.
2018-04-18 10:10:14 +10:00
Adrian Danis
0b7d80c954
riscv: Document architecture in CHANGES
2018-04-18 10:10:14 +10:00
Adrian Danis
d3c129880f
riscv: Remove todos
...
This have been converted to JIRA issues.
2018-04-18 10:10:14 +10:00
Adrian Danis
0c0a00610c
riscv: Place traps in text section
...
Ensures that the traps are in the text section, and not the boot section, allowing for
kernel memory to be safely reused.
2018-04-18 10:10:14 +10:00
Adrian Danis
ddd1e128ba
riscv: Remove now out of date todo
2018-04-18 10:10:14 +10:00
Anna Lyons
2dbe961f0b
riscv: document page table structure
2018-04-18 10:10:14 +10:00
Adrian Danis
f5fa2072a5
riscv: Guard potentially undefined page size constants
...
These pages don't have a defined size on rv32 (i.e. when PT_LEVELS == 2)
2018-04-18 10:10:14 +10:00
Adrian Danis
543372e755
riscv: Provide hidden MAX_NUM_NODES variable
...
The kernel assumes the existance of this configuration variable so for riscv we provide
a hidden one that the user cannot change with the value of 1
2018-04-18 10:10:14 +10:00
Anna Lyons
76c61025ac
riscv: remove dev_pregs
...
We don't have any devices currently, and in future they will be
discovered, not statically specified.
2018-04-18 10:10:14 +10:00
Anna Lyons
b7d4bc1629
riscv: remove trailing whitespace line
2018-04-18 10:10:14 +10:00
Anna Lyons
f68779d76e
riscv: move LOAD to hardware.h in mode
...
removes the #ifdef and uses the dir structure instead.
2018-04-18 10:10:14 +10:00
Adrian Danis
092170e083
riscv: Guard against setting max num nodes
...
SMP is not currently supported on riscv, this prevents a user accidentally trying to
use it.
2018-04-18 10:10:14 +10:00
Adrian Danis
24c92f979b
riscv: Remove broken and untested benchmark stubs
2018-04-18 10:10:14 +10:00
Adrian Danis
402cc309f1
riscv: Remove bogus L1 cache line size
2018-04-18 10:10:14 +10:00
Adrian Danis
fbe634620c
riscv: Remove currently unuspported SMP code
2018-04-18 10:10:14 +10:00
Adrian Danis
eccaed9f70
riscv: Remove currently unsupported FPU
2018-04-18 10:10:14 +10:00
Anna Lyons
99d93ebe04
riscv: correct typo in comment
2018-04-18 10:10:14 +10:00
Anna Lyons
643993282d
riscv: add missing cases to print_format_cause
2018-04-18 10:10:14 +10:00
Anna Lyons
08b41bde71
riscv: use fault constants instead of magic
2018-04-18 10:10:14 +10:00
Anna Lyons
5cd0dd52be
riscv: add missing fault types
2018-04-18 10:10:14 +10:00
Anna Lyons
bdf53e0be9
riscv: move io.c to arch level
...
where it belongs
2018-04-18 10:10:14 +10:00
Anna Lyons
d50cddde5c
riscv: remove cryptic printout
2018-04-18 10:10:14 +10:00
Anna Lyons
f0bd4437db
riscv: check all frame types in Arch_isFrameType
2018-04-18 10:10:14 +10:00
Anna Lyons
00cf62bb09
riscv: remove unneccessary #if CONFIG_PT_LEVELS
...
This guard is only required for object types to avoid
seL4 thinking they are valid objects. Defining the size constants does
not need to be guarded.
2018-04-18 10:10:14 +10:00
Anna Lyons
c684c9e543
riscv: populate userImagePaging
2018-04-18 10:10:14 +10:00
Anna Lyons
308e8bf4d2
riscv: move machine functions to machine.h
...
And add memory barriers while we are at it.
2018-04-18 10:10:14 +10:00
Anna Lyons
497e04ac06
riscv: implement Arch_userStackTrace
2018-04-18 10:10:14 +10:00
Anna Lyons
47c8b5a9e5
riscv: don't halt on Arch_userStackTrace()
2018-04-18 10:10:14 +10:00
Anna Lyons
952d305103
riscv: remove unused function
2018-04-18 10:10:14 +10:00
Adrian Danis
50365f91a2
riscv: Remove completed todo
2018-04-18 10:10:14 +10:00
Adrian Danis
5ac36bcefb
riscv: Move strcmp to util
2018-04-18 10:10:14 +10:00
Adrian Danis
c083919796
riscv: Move strlen to util
2018-04-18 10:10:14 +10:00
Adrian Danis
84481138ef
riscv: Replace strings with char arrays
...
The C parser does not understand string literals. This is unfortunate, but necessary.
2018-04-18 10:10:14 +10:00
Adrian Danis
6938c98adf
riscv: Fill physical memory regions from FDT
...
Removes the hardcoded physical memory region from the spike platform and fills it from
FDT parsing instead.
2018-04-18 10:10:14 +10:00
Adrian Danis
9569ad05cb
riscv: Parse the FDT during platform initialization
2018-04-18 10:10:14 +10:00
Adrian Danis
ee37eebcae
riscv: Cleanup FDT code
...
Rewrites the FDT code to remove all the disallowed function pointers have attempt to perform
the equivalent functionality of query_mem in place in the main parser. With the callback
system gone all the rest of the unused FDT code is deleted as it doesn't make sense.
2018-04-18 10:10:14 +10:00
Adrian Danis
a6fb504be9
riscv: Remove dtb region from free memory
...
The DTB output should be preserved both during kernel bootup and ultimately given to the
rootserver. As such we should make sure to not include it as free memory.
2018-04-18 10:10:14 +10:00
Adrian Danis
97691ac469
riscv: Move init_plat
...
The platform should not be initialized till after the cpu has been.
2018-04-18 10:10:14 +10:00
Adrian Danis
d373b17d4c
riscv: Provide dtb region to try_init_kernel
...
Now that there is a different kernel window we can talk about the physical address of the
dtb and read it through the kernel window to determine it's size. Currently we just pass
the region to try_init_kernel, which does not yet do anything with it.
2018-04-18 10:10:14 +10:00
Adrian Danis
f37b8a5c87
riscv: Remove smp boot code
...
The SMP code is incomplete and is confusing to have broken code around.
2018-04-18 10:10:14 +10:00
Adrian Danis
2b101e0f9c
riscv: Add sbss region to linker script
...
Without this sbss symbols get placed after the ki_end symbol, which could result in
those symbols ending up on memory given to the user.
2018-04-18 10:10:14 +10:00
Adrian Danis
a2a6be95ca
Define more freemem regions on all architectures except ARM
...
2 freemem regions is far to prohibitive on platforms that have fragmented initial
memory. Ultimately ARM should be changed to also have more than 2, but is being
deferred for now as it will result in trivial verification breakage.
2018-04-18 10:10:14 +10:00
Adrian Danis
d205615c53
riscv: Be consistent with PT mapping faults
...
Other architectures claim `seL4_DeleteFirst` as the error if the only way to map a page table
is to first delete something. This unifies the riscv code to also state `seL4_DeleteFirst`
when there is already a lowest level page table mapped instead of lookup fault.
2018-04-18 10:10:14 +10:00