2010-02-28 13 views
6

Herhangi bir işletim sistemi olmadan LLVm, yani doğrudan x86 donanımı üzerinde çalışan herhangi bir proje biliyor mu?x 86 barebone üzerinde llvm?

+0

Herhangi bir donanım platformunda bir derleyiciyi desteklemek için en azından bir dosya sistemine, bellek yönetimine, çalışma zamanı kitaplıklarına ve önyükleme koduna ihtiyaç duyduğunuzda bunun nasıl işleyeceğini görmek zor. Bu noktada zaten en az bir işletim sisteminin çıplak kemikleri var. Tam olarak elde etmeye çalıştığınız şey nedir? –

+2

@Paul: LLVM'nin üstüne bir OS yaz. Tüm LLVM takım zincirinin bir barebone x86 üzerinde olmasını istemiyorum. Ben sadece LLVM çalışma zamanı (JIT ile) bir barebone x86 üzerinde olmasını rica ediyorum. – anon

+1

LLVM'nin tam olarak hangi bölümünü barebone çalıştırmak istiyorsunuz? Çevirmen? JIT? Derleyici? Veya bir işletim sistemi olmadan LLVM derlenmiş yerel kodu çalıştırabiliyor musunuz diye soruyor musunuz? – CAFxX

cevap

7

LLVM, doğrudan x86 donanımında çalışabilen kodu statik olarak derleyebilir. Bununla birlikte, LLVM JIT LLVM kütüphanelerinin çoğuna dayanır. Bunları bir çıplak kemik x86 hedefi için derlemek mümkün değildir.

  1. x86 donanım üzerinde doğrudan çalışmak üzere tasarlanmış yeni bir JIT motoru yazın: LLVM IR üzerinde bir işletim sistemi dayandırmak ve JITed edilmesi sahip olmak için

    İki seçenek var. Bu, statik derleme üzerinde herhangi bir fayda elde etmesini istiyorsanız, tüm optimizasyon geçişlerini yeniden yazmayı gerektirir.

  2. LLVM'yi hedeflemesi kolay olan en küçük çekirdeği alın ve daha sonra JIT'yi çalıştırın. Bu, işletim sisteminizin çekirdeğinin JIT olmayacağı anlamına gelir, ancak büyük bir kısmı olabilir.