[PATCH] do_it: Create build directory and its parents for Nano-X and future x86 VBE Linux support
Gedare Bloom
gedare at rtems.org
Sun Oct 19 13:01:08 UTC 2014
On Sun, Oct 19, 2014 at 7:48 AM, Pavel Pisa <pisa at control.felk.cvut.cz> wrote:
> Hello Gedare and Joel,
>
> On Friday 17 of October 2014 10:17:24 Jan Dolezal wrote:
>> prevents possible mkdir and cd error when parents of build
>> directory are missing
>> ---
>> do_it | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/do_it b/do_it
>
> please push Jan Dolezals's patch to
>
> http://git.rtems.org/rtems-graphics-toolkit/
>
> it corrects Nano-X build.
>
Thanks Pavel. I didn't see it among the warning patches.
> Then there is quite large amount of patches for RTEM which
> Jan Dolezal works on to provide PC VESA BIOS Extension support
> for RTEMS. Mode selection is planned only during RTEMS startup
> before interrupts are enabled for now.
>
> Runtime VESA BIOS calls are extremely problematic.
>
> - there is defined protected VBE 3.0 entry point, but it is not present
> in QEMU VESA BIOS and on the most of the tested cards. Even if present
> on some cards, it seems to be broken according to our attempts to use it.
> This solution was my initial idea, but proved to be unusable
> and cost enormous time.
> - switching to real mode is no option after startup for RTOS - to work
> at least potentially reliably requires to block all interrupts
> on PIC/APIC/LAPIC level
> - VM86 mode would be doable but requires significant additional
> complexity and overhead for task switch or use separate TSS
> nonsense for each task
> - the last analyzed interresting solution is to include x86 instruction
> set interpreter in RTEMS which would allow to run BIOS x86
> real code sandboxed and with additional memory ranges protection
> and with minimal impact on other RT code running in parallel.
> This would be nice to do, allows to use x86 PCI VESA BIOS cards
> on other PCI enabled architectures but it is above our current
> capabilities and time constraints. On the other hand we can provide
> example from NOVA microkernel which achieved and uses this goal.
>
This last option seems quite interesting. Can you link to the example
or any doc on how it is done?
> So the current goal is mode setup during RTEMS startup but real mode
> functions calls done from protected C code to achieve readability
> and flexibility. This is approach which Grub and many other systems
> and loaders uses so it should be most reliable and tested on real
> hardware.
>
> I am bringing actual Jan Dolezal's work to your attention now
> to do get some initial suggestions, then I expect that patches
> would be be send for review to RTEMS mailinglist.
> Probably during this month.
>
Great.
> The complete work
>
> https://github.com/dolezaljan/rtems/commits/master
>
> The key changes for discussion and possible correction
> of work direction
>
> - added header for VESA BIOS Extension
> prepared from scratch to ensure clean license for RTEMS
>
> - GDT entries manipulation functions +
> GDT entries information getting functions + ...
> GDT extension to more entries and changes in RTEMS
> global GDT manipulation functions to allow setup
> entries required for switching to real mode
> These changes are in RTEMS x86 critical shared
> code, so review by more people is needed
>
Joel is primary x86 maintainer around here. He should comment when
they come through.
> - actual VESA BIOS calls and mode witching
> this is not so critical, because it is optional
> and does not influence code which does not use
> new graphics features
>
> I would be happy if you help with review process.
> Do you want to have patch series on GitHub first
> or should be patches sent to RTEMS devel directly?
>
They probably won't get looked at on GitHub unless you ask someone
directly to have a look and provide the exact link.
-Gedare
> Best wishes,
>
> Pavel
More information about the devel
mailing list