| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The APIC timer is calibrated by running the i8254 PIT for a fraction of a
second (determined by PIT_CALIBRATE_DIVIDER) and counting how many times the
APIC counter has ticked. The calibration can be run multiple times (determined
by APIC_TIMER_NUM_CALIBRATIONS) and averaged out.
Updates #2898.
|
|
|
|
| |
Updates #2898.
|
|
|
|
| |
Updates #2898.
|
|
|
|
|
|
|
| |
Simulators may not always be able to allocate 4GiB easily, and using an
artificially lower RAM may cause a broken heap.
Updates #2898.
|
|
Updates #2898.
|
|
|
|
|
|
| |
This addition allows us to successfully run the sample hello.exe test.
Updates #2898.
|
|
Current state:
- Basic context initialization and switching code.
- Stubbed console (empty functions).
- Mostly functional linker script (may need tweaks if we ever want to move
away from the large code model (see: CPU_CFLAGS).
- Fully functional boot, by using FreeBSD's bootloader to load RTEMS's ELF for
UEFI-awareness.
In short, the current state with this commit lets us boot, go through the system
initialization functions, and then call user application's Init task too.
Updates #2898.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When it's a macro, a function declaration causes a compiler error due to the
macro being expanded.
Partial log showing error:
https://gist.github.com/AmaanC/ab3521141479aa6f61ea25f5d74ebb4d
Closes #3331
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With HAS_SMP set, we have:
libbsp_a_LIBADD += appstart.$(OBJEXT)
When trying to build appstart.o, however, we link start.o with appcpustart.o
through the linkcmds script, which leaves several symbols unresolved, and
without the "-r" (or -i) flag, this throws undefined reference errors.
This change requires us to re-run the ./bootstrap script to regenerate
Makefile.in, and therefore the Makefile for the particular BSP as well.
Complete log of errors available here:
https://gist.github.com/AmaanC/d40bd7393dca1f82965938275845b7f9
Updates #3331
|
|
This change, excluding the #error directive, lets us make progress towards
compiling i386 targets with --enable-smp.
The #error directive needs to be there since the CPU_Interrupt_frame is used by
the SMP context switching code, and this placeholder struct, if used, would only
lead to more subtle bugs and errors. With the directive, the SMP context
switching code can be improved separately.
Updates #3331
|
|
On POSIX compliant shells, echo does not have the -e option.
This causes the "-e" to be echoed as well, causing potential buggy
build processes.
Example shell session:
-> % sh
$ echo -e "foo bar"
-e foo bar
$
According to POSIX, "\$" should be fine regardless due to the use of
double-quotes[1]. However, since printf is recommended over echo anyway,
we replace "echo -e" with printf where required.
[1] http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_02_03
|