Bir Takım Şeyler

Çekirdek

Kenar (edge) ve seviye (level) tetiklemeli kesmeler üzerine

Çekirdek için donanım ile yazılım arasında bir arayüz diyoruz. Genelde donanım ile alakalı kısımları okurken, donanım hakkında bir fikir sahibi olmanız gerekiyor ki çekirdeğin nereye varmaya çalıştığını anlayabilesiniz. Bunun için de donanım speklerine ihtiyaç duyarsınız. Ama bazen bu spekler de yetersiz kalır, çünkü spekler size o donanımı nasıl kullanabileceğinizi anlatırlar. Fakat sizin ihtiyacınız olan, o […]

Read the rest

SMM, USB Legacy Desteği ve USB Handoff üzerine

x86 işlemcilerin protected, real ve virtual-8086 modlarının dışında çalıştığı özel bir mod daha bulunuyor: System Management Mode (SMM). Bu mod, güç yönetimi, sıcaklık ve fan takibi gibi sistem kontrolüne yönelik özel işler için ve yalnızca BIOS’un kullanımına yönelik olarak tasarlanmış bir mod. ACPI öncesi bahsi geçen işler, işlemcinin bu özelliği kullanılarak yapılıyor. Mekanizma şu şekilde […]

Read the rest

PCI Latency Timer, MAX_LAT ve MIN_GNT

PCI cihaz bus’a erişmek istediği anda REQ# hattı üzerinden arbiter‘a istekte bulunuyor. Arbiter’da PCI speklerinde implimentasyona bırakılan adil bir şekilde cihazların isteklerini GNT# hattını aktif hale getirerek karşılıyor. Eğer GNT# aktif hale getirildikten 16 PCI clock sonra bir işlem başlamaz ise, arbiter, cihazı “kırık” olarak kabul edip sonraki istekleri gözardı edebilir.Cihaz GNT# aldıktan sonra adres […]

Read the rest

PCI veri güvenilirliği üzerine

x86 mimarisine sahip makinelerde işlemcinin anladığı iki adres uzayı bulunuyor. Hafıza ve I/O. x86, I/O adresindeki bir PCI cihaza yazma işlemi yapıldığında işlemci devam etmeden, yazma işleminin cihaza eriştiğinden emin olabiliriz. Fakat MMIO adresindeki bir cihaza yazma işlemi yapıldığında işlemci devam ederken, yazmanın cihaza eriştiğinden emin olamayız. PCI cihaza yapılan yazma işlemi bir yerlerde (host […]

Read the rest

Çekirdek Çıtlatması (Bölüm IV)

C spesifikasyonun’da volatile tanımı:
“A volatile declaration may be used to describe an object corresponding to a memory-mapped input/output port or an object accessed by an asynchronously
interrupting function. Actions on objects so declared shall not be “optimized out” by an implementation or reordered except as permitted by the rules for evaluating expressions.”
Harika! Bariyer kullanmama gerek […]

Read the rest

Çekirdek Çıtlatması (Bölüm III)

Son olarak “asm” ve “c” volatile anahtar sözcüklerine bakalım. Özel olarak ikisi arasından_spesifikasyondaki tanımı ile_ “c” volatile günümüzde artık bir şey ifade etmiyor. Lkml’de son zamanlarda da çok tartışıldı. Biz de lkml ve gcc dokümanı ışığında bahsi geçen iki anahtar sözcüğün ne zaman ve nerelerde kullanılması gerektiğine bakalım.

Read the rest

older posts ::

  • Categories

  • Archives

  • Currently Reading

  • Quotes

    "Chance favors the prepared mind." - Louis Pasteur
  • Links

    Pardus... Özgürlük İçin...