Commit message (Collapse)AuthorAgeFilesLines
* Add Amaan to MAINTAINERSAmaan Cheval2020-02-211-0/+2
* bsps/x86_64: Add APIC timer based clock driverAmaan Cheval2018-08-138-1/+640
| | | | | | | | | 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.
* bsps/x86_64: Add support for RTEMS interruptsAmaan Cheval2018-08-1312-33/+648
| | | | Updates #2898.
* bsps/x86_64: Add paging support with 1GiB super pagesAmaan Cheval2018-08-136-0/+261
| | | | Updates #2898.
* bsps/x86_64: Reduce default RamSize to 1GiBAmaan Cheval2018-08-131-3/+3
| | | | | | | Simulators may not always be able to allocate 4GiB easily, and using an artificially lower RAM may cause a broken heap. Updates #2898.
* bsps/x86_64: Reorganize header files and compile-optionsAmaan Cheval2018-08-138-22/+84
Updates #2898.
* x86_64/console: Add NS16550 polled console driverAmaan Cheval2018-07-114-93/+49
| | | | | | This addition allows us to successfully run the sample hello.exe test. Updates #2898.
* bsp/x86_64: Minimal bootable BSPAmaan Cheval2018-07-1129-1/+1605
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.
* no_cpu/no_bsp: Fix MakefileAmaan Cheval2018-05-141-1/+1
* i386/smp: Export _CPU_SMP_Prepare_start_multitasking as a functionAmaan Cheval2018-03-162-2/+6
| | | | | | | | | | When it's a macro, a function declaration causes a compiler error due to the macro being expanded. Partial log showing error: Closes #3331
* i386/smp: Have ld use incremental build for appstart.oAmaan Cheval2018-03-161-1/+1
| | | | | | | | | | | | | | | | | | 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, and therefore the Makefile for the particular BSP as well. Complete log of errors available here: Updates #3331
* i386/smp: Define CPU_Interrupt_frame as non-void structAmaan Cheval2018-03-161-1/+15
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
* bootstrap: Use printf instead of echo -e for POSIX shellsAmaan Cheval2018-03-091-2/+2
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]