2010-02-28 13 views
6

Czy ktoś wie o jakimkolwiek projekcie dotyczącym uruchamiania LLVm bez systemu operacyjnego, tj. Bezpośrednio na sprzęcie x86?llvm na xb barebone?

+0

Trudno sobie wyobrazić, jak by to działało, ponieważ potrzebowałbyś przynajmniej systemu plików, zarządzania pamięcią, bibliotek uruchomieniowych i kodu bootstrap do obsługi kompilatora na dowolnej platformie sprzętowej. W tym momencie i tak masz słabe kości minimalnego systemu operacyjnego. Co dokładnie chcesz osiągnąć? –

+2

@Paul: napisz system operacyjny na LLVM. Nie pytam o cały zestaw narzędzi LLVM na barebone x86. Pytam tylko, aby środowisko wykonawcze LLVM (z jego JIT) było na szkielecie x86. – anon

+1

, która część LLVM dokładnie chcesz uruchomić barebone? Tłumacz? JIT? Kompilator? A może pytasz, czy możesz uruchomić natywny kod LLVM bez systemu operacyjnego? – CAFxX

Odpowiedz

7

LLVM może statycznie skompilować kod, który może działać bezpośrednio na sprzęcie x86. JIT LLVM opiera się jednak na większości bibliotek LLVM. Nie jest możliwe skompilowanie ich dla docelowego x86.

W celu oparcia systemu na LLVM IR i mają być JITed widzę dwie opcje:

  1. napisać nowy silnik JIT przeznaczoną do uruchamiania bezpośrednio na sprzęcie x86. Wymagałoby to ponownego napisania wszystkich przebiegów optymalizacji, jeśli chciałbyś, aby miał jakąkolwiek przewagę nad kompilacją statyczną.

  2. Weź najmniejsze jądro, na które możesz łatwo wybrać LLVM, a następnie uruchom JIT. Oznacza to, że jądro systemu operacyjnego nie będzie objęte JIT, ale może to być duża jego część.