ASELSANMicrokernel
GÜÇ VE PİL

Pil: cihazın enerjisi, saatin sürekliliği ve saklama bütünlüğü

Bu sayfa iki enerji katmanını birlikte ele alır: RTC yedek hücresi (duvar saatinin güç kesintisinde yaşaması) ve ana batarya/UPS katı (çalışma süresi ve düzenli kapanış). Her satır bir kaynağa ya da kanıt dosyasına bağlanır; ölçülmemiş kalem ölçülmedi olarak işaretlenir.

DONANIM · TAKILDITARİH · 2026-09-16SÜRÜCÜ · YAZILDIMAKBUZ · YOK

J5'e CR2032 hücre takıldı, RTC sürücüsü yazıldı — ama üretim boot'u onu çağırmıyor ve tek bir fiziksel makbuz yok.

kernel/src/wallclock.rs başlığı bugün hâlâ şunu yazıyor: “the Pi 5 RTC is behind the VideoCore firmware, it does not survive a power cut without the J5 cell.” Hücre 2026-09-16 tarihinde J5 (BAT) konnektörüne takıldı ve aynı gün kernel/src/driver/rpi5_rtc.rs yazıldı. Eksik olan kod değil: çağrı, makbuz ve ölçüm eksik.

J5
Yedek hücre
CR2032 · birincil lityum coin hücre · fotoğraf kanıtı
0x00030087
GET tag
RTC yalnız firmware mailbox'tan okunur
0x00038087
SET tag
Yazma yolu kurulamaz: grant yok
Kanıt ne diyor, ne demiyor
Kanıt: Hücrenin J5 kablosuna fiziksel olarak bağlandığı.
/home/onder/Downloads/IMG_0044.jpeg
Kanıt değil: Firmware'den saat okunduğu, voltajın ölçüldüğü, kesinti sonrası saklamanın doğrulandığı veya hücre ömrünün ölçüldüğü.

Pi 5 kartı, DSI ekran FFC'si, kırmızı HAT katı ve J5'e iki kabloyla bağlanmış CR2032 hücresi tek karede.

RTC YEDEK PİLİ · TAKILDI

Ne değişti, ne değişmedi

Güç kesintisinde duvar saati

Takıldı
Önce

`kernel/src/wallclock.rs` başlığı: J5 hücresi olmadan saat güç kesintisine dayanmaz; her boot'ta flash zamanında host'tan taşınan blob'a dönülür.

Şimdi

Hücre takılıyken RTC kendi sayımını sürdürür; kesinti sonrası saat firmware'den geri okunabilir.

Fotoğraf: IMG_0044.jpeg · 2026-09-16 (donanım koşulu). Yazılım okuması henüz yok.

Epoch blob'una bağımlılık

Yazılıyor
Önce

Tek yol: 32 baytlık `ASLNEPO1` blob'u (Unix epoch + UTC offset + CRC32), `config.txt` initramfs + `/chosen/linux,initrd-start`.

Şimdi

RTC yolu blob'u değiştirmez, onu çapalar: monotonik sayaçla ilerletilen taşınmış saat referans kalır, RTC okuması bununla karşılaştırıldığında `RtcCorroborated` seviyesine çıkabilir.

Kaynak: `kernel/src/wallclock.rs`, `abi/src/time_security.rs` (`resolve_trust`, `corroborates`), `scripts/render-rpi5-epoch-blob.sh`. Fiziksel UART kanıtı: `ASELSAN/CLOCK SRC=EPOCH_BLOB EPOCH=… TZ=10800 SYNCED=1`.

Yedek hücre voltajı

Yazılıyor
Önce

Pilin bitip bitmediği bilinmiyordu; pil durumu hakkında tek veri noktası yoktu.

Şimdi

`BackupMicrovolts` (seçici 7) okuyan kod yazıldı ve hücre sınıflandırması eşiklere bağlandı; ama bu kartta tek bir okuma bile alınmadı.

Kaynak: `kernel/src/driver/rpi5_rtc.rs` · `read_backup_microvolts`; `abi/src/time_security.rs` · `backup_cell`. UART kaydı yok — sayı bu sayfada yazılmaz.

Trickle charge kararı

Planlandı
Önce

Şarj politikası yoktu; hücre tipi de belirsizdi.

Şimdi

Resmî belge şarj devresinin varsayılan olarak KAPALI olduğunu ve birincil lityum hücre önerilmediğini söyler. Takılı hücre CR2032 olduğu için karar 0 µV'da kalmaktır.

Kaynak: Raspberry Pi RTC belgesi (J5, şarj voltajı sysfs örneği, birincil hücre uyarısı) + `drivers/rtc/rtc-rpi.c` içindeki varsayılan davranış.

Değişmeyenler: hücre takmak ve sürücü yazmak, çalışan saat demek değildir
  • Kernel saati hâlâ üretimde blob'dan kurar. RTC sürücüsü depoda duruyor ama `kernel/src/main.rs` içinde çağrısı yok; `simulation/tests/rpi5_rtc_source.rs` bunu kaynaktan doğrular. Blob yolu, RTC yolunun çapası olarak yerinde kalır.
  • Fiziksel makbuz yok: depodaki hiçbir UART kaydı bu kartın PMIC'inden geri okunmuş bir epoch göstermiyor. Sürücünün kendi başlığı da bunu böyle yazıyor.
  • Sürücü saati yazamaz. `set_backup_epoch` bir `RtcWriteGrant` ister; alanı özel ve kurucusu yok, yani imaj iyi davranmakla kalmıyor, yazma-yeteneksiz.
  • Alarm seçicileri (1–3) ABI'de numaralandı ki sıra kaymasın; fakat hiçbir kod yolu onları göndermiyor.
  • RTC değeri imzalı değildir. Firmware'den gelen saat de blob gibi doğrulanmamış girdidir; güven, `abi/src/time_security.rs` içindeki merdivenle ve hücre sınıfıyla sınırlanır.
  • Kesinti sonrası saklama süresi bu cihazda ölçülmedi. Resmî belge resmî şarj edilebilir hücre için tek haneli µA ve aylarla ölçülen saklama verir; CR2032 için böyle bir ölçüm yok.
  • Kart flash'lanıp bekletilirse blob yaşlanır ve ekrandaki saat geri kalır; bu davranış `make refresh-rpi5-epoch` hedefiyle telafi edilir.
FIRMWARE ARAYÜZÜ

RTC'ye register yazılmaz; mailbox property çağrılır

Pi 5'in RTC'si DA9091 PMIC üzerindedir ve erişim yalnızca VideoCore firmware mailbox üzerinden verilir; doğrudan I²C/SPI register arayüzü yoktur. Kaynak: drivers/rtc/rtc-rpi.c ve LWN'in “Raspberry Pi 5 RTC driver” başlığı. Property tamponu iki u32 taşır: seçici ve değer. GET tag'i 0x00030087, SET tag'i 0x00038087.

#SeçiciKanalRustOS'ta durumu
0
RTC_TIME
Duvar saati
GET+SETOkuma `read_backup_epoch` ile yapılır ve makullük penceresinden geçer; yazma `RtcWriteGrant` ister ve bugün hiçbir kod onu kuramaz.
1
RTC_ALARM
Alarm zamanı
GET+SETUyanma alarmı. Seçici ABI'de duruyor ki numaralandırma kaymasın; hiçbir kod yolu alarm göndermiyor.
2
RTC_ALARM_PENDING
Alarm bekliyor
SETBekleyen alarmı temizlemek için 1 yazılır. Linux sürücüsü açılışta bunu yapar; RustOS sürücüsü bu seçiciyi henüz kullanmıyor.
3
RTC_ALARM_ENABLE
Alarm etkin
GET+SETAlarmın açık/kapalı olduğunu okur ve değiştirir; alt bit kullanılır. RustOS'ta çağrı yolu yok.
4
RTC_BBAT_CHG_VOLTS
Trickle charge voltajı
GET+SET`BackupChargeMicrovolts`. 0 yazmak şarjı kapatır; takılı birincil hücre yüzünden karar 0 µV'da kalır.
5
RTC_BBAT_CHG_VOLTS_MIN
Şarj alt sınırı
GET`BackupChargeMinMicrovolts`. Resmî belgedeki sysfs örneği 1.300.000 µV; karar sınırını bilmek için okunur.
6
RTC_BBAT_CHG_VOLTS_MAX
Şarj üst sınırı
GET`BackupChargeMaxMicrovolts`. Resmî belgedeki sysfs örneği 4.400.000 µV; üstüne çıkılmaz.
7
RTC_BBAT_VOLTS
Yedek pil voltajı
GET`BackupMicrovolts`: hücrenin ölçülen voltajı. `read_backup_microvolts` okur, `backup_cell` sınıflar. Bu kartta okuma alınmadı.
GERÇEK DOSYA · ÜRETİM ÇAĞRISI YOK

Depodaki sürücüden özet: seçiciler, reddeden hatalar, kurulamayan grant

// kernel/src/driver/rpi5_rtc.rs — gerçek sabitler ve seçiciler
pub const RPI_FIRMWARE_GET_RTC_REG: u32 = 0x0003_0087;
pub const RPI_FIRMWARE_SET_RTC_REG: u32 = 0x0003_8087;
pub const RTC_VALUE_BUFFER_BYTES: u32 = 8;      // seçici + veri, iki u32
pub const RTC_PROBE_RECEIPT_LABEL: &str = "RTCPROBE";

#[repr(u32)]
pub enum RtcRegister {
    Time = 0, Alarm = 1, AlarmPending = 2, AlarmEnable = 3,
    BackupChargeMicrovolts = 4, BackupChargeMinMicrovolts = 5,
    BackupChargeMaxMicrovolts = 6, BackupMicrovolts = 7,
}

// Her hata bir REDDİR; hiçbiri varsayılan bir saate düşmez:
pub enum RtcError {
    MailboxUnavailable, MailboxRejected,
    ShortValueBuffer { returned_bytes: u32 },
    UnexpectedSelector { requested: u32, echoed: u32 },
    ImplausibleTime { seconds: u64 },
}

// Yazma yolu kurulamaz: alan özel, kurucu yok.
pub struct RtcWriteGrant(());

Kaynak PASS fiziksel PASS değildir: bu dosya derleniyor ve seçici sırası host testiyle firmware ABI'sine bağlanıyor, fakat hiçbir UART kaydı bu kartın PMIC'inden okunmuş bir epoch göstermiyor.

kernel/src/driver/mailbox.rs
Takıldı

VideoCore property kanalı: `call`, `PropertyBuffer`, `CHANNEL`. Üretimde bugün UART saat hızı okuması için kullanılıyor.

kernel/src/driver/rpi5_rtc.rs
Yazılıyor

RTC taşıması: sekiz seçici, reddeden hata tipi, atomik taban (`WallClockGuard`), yazma yetkisi token'ı. Üretim boot'unda çağrılmıyor.

abi/src/time_security.rs
Takıldı

Politika: iki saat kuralı, güven merdiveni, monotonik taban kuralı, hücre sınıfları, takvim kararının fail-closed kapısı. Durumsuz ve host'ta test edilir.

simulation/tests/rpi5_rtc_source.rs
Takıldı

Kaynak testi: üretim çağrısı olmadığını, yazma yetkisi üreticisi bulunmadığını ve seçici sırasının firmware ABI'siyle aynı kaldığını doğrular.

VOLTAJ VE ŞARJ

Pilin bittiğini tahmin etme: firmware'den oku

P0Takıldı

Mailbox property kanalı

BCM2712 mailbox tabanı, kanal seçimi, hizalı property tamponu ve cevap biti. Kanal depoda var ve üretimde bugün UART saat hızını okumak için kullanılıyor.

kernel/src/driver/mailbox.rs · call, PropertyBuffer, CHANNEL

P1Yazılıyor

RTC_TIME oku, saatle karşılaştır

`read_backup_epoch` seçici 0'ı okur, makullük penceresinden geçirir ve reddederse değer uydurmaz. Çağrı ve `RTCPROBE` makbuzu henüz üretimde yok.

kernel/src/driver/rpi5_rtc.rs · read_backup_epoch, RtcError, RTC_PROBE_RECEIPT_LABEL

P2Ölçülmedi

BackupMicrovolts ile hücreyi ölç

Seçici 7'yi okuyan kod hazır ve hücre sınıflandırması eşiklere bağlı; fakat bu kartta tek bir okuma alınmadı. Ölçüm yapılmadan “pil iyi” denmez.

kanıt yok · kod: read_backup_microvolts + backup_cell

P3Planlandı

Şarj kararını sabitle

Şarj setpoint'i seçici 4'tür ve 0 yazmak şarjı kapatır. Takılı hücre birincil lityum olduğu için karar 0 µV'da kalır; alt/üst sınır seçici 5 ve 6'dan okunur.

Sonuç ölçülmedi. Kaynak: Raspberry Pi RTC belgesi + rpi5_rtc.rs · BackupChargeMicrovolts

P4Ölçülmedi

Kesinti testi ve makbuz

Güç kesilir, hücre takılıyken beklenir, yeniden açılır ve okunan epoch host saatiyle karşılaştırılır. `RTCPROBE` makbuzu bu ölçümü taşımak için tanımlı; bugün hiçbir şey basmıyor.

kanıt yok · depodaki hiçbir UART kaydı PMIC'ten okunmuş epoch göstermiyor

Varsayılan şarj
0 µV · kapalı

Sürücü, device-tree özelliği yoksa veya sıfırsa şarjı kapatır. Bugünkü karar bu varsayılana uyar.

Alt sınır
1.300.000 µV

Resmî belgedeki sysfs çıktısı: `charging_voltage_min:1300000`. Bizim ölçümümüz değil, firmware'in bildirdiği sınır.

Üst sınır
4.400.000 µV

Resmî belgedeki sysfs çıktısı: `charging_voltage_max:4400000`. Üstüne çıkılmaz.

Hücre tipi uyarısı
Birincil lityum önerilmez

Resmî belge: şarj devresi kapalıyken bile birincil hücre önerilmez; açılırsa hücre hızla tükenir. Takılı CR2032 bu sınıftadır.

Resmî hücre
Şarj edilebilir lityum-manganez

Resmî aksesuar, hazır iki uçlu JST fişli şarj edilebilir coin hücredir. Şarj isteniyorsa hücrenin de değişmesi gerekir.

ANA BATARYA / UPS HAT

Çalışma süresi değil, düzenli kapanış hedefi

Mevcut parça kararı

Ana batarya kararı `/parcalar/` sayfasında verilmiş durumda: `parts.ts` içindeki `ups-hat` satırı — Waveshare UPS HAT (E), 4× 21700, 5 V / 6 A çıkış, pogo 5 V/GND + I2C, USB-C PD şarj.

Bu sayfa o kararı tekrarlamaz; yalnız enerji ile saatin/saklama bütünlüğünün kesiştiği yeri derinleştirir.

Biçim ve projeksiyon

Dört 21700 hücre cihazı ağır ve kalın yapar. Hedef ince telefon değil, laboratuvar tuğlasıdır; gövde notu (`govde`) da bunu söyler.

`/parcalar/` sayfasındaki 1,5–3 saat batarya ömrü bir bütçe projeksiyonudur. Bu cihazda deşarj eğrisi ölçülmediği için burada ölçüm olarak tekrarlanmaz.

Raspberry Pi 5

ölçülmedi
parts.ts · POWER_BUDGET · Raspberry Pi 5

2,7 W boşta · 8–12 W yükte (bütçe tahmini)

5 V / 5 A PD tavanı; zayıf adaptör undervolt üretir ve sahte kernel hatası gibi görünür.

5″ Touch Display 2

ölçülmedi
parts.ts · POWER_BUDGET · 5″ Touch Display 2

1,5 W boşta · 2,5 W yükte (bütçe tahmini)

DSI + GPIO güç; parlaklık profili ölçülmeden bütçeye kesin sayı yazılmaz.

EG25-G modem

ölçülmedi
parts.ts · POWER_BUDGET · EG25-G modem

0,8 W boşta · 2–4 W yükte (bütçe tahmini)

TX tepe akımı en yüksek kalemdir; gerçek tepe akımı osiloskopla ölçülmeden UPS tavanı doğrulanmış sayılmaz.

UPS HAT (E) kaybı

ölçülmedi
parts.ts · POWER_BUDGET · UPS kaybı

0,3 W boşta · 0,6 W yükte (bütçe tahmini)

Boost + BMS verimi ölçülmeden gerçek çalışma süresi hesaplanamaz.

Aktif soğutucu

ölçülmedi
parts.ts · POWER_BUDGET · Aktif soğutucu

0,3 W boşta · 1,0 W yükte (bütçe tahmini)

Throttle olursa log kirlenir; termal bütçe pil bütçesinden ayrı ölçülmelidir.

Bütçe değerleri POWER_BUDGET tahminleridir; bu cihazda yapılmış akım ölçümü değildir. Gerçek tepe akım, özellikle modem TX anında, osiloskopla ölçülmeden UPS tavanı doğrulanmış sayılmaz.

B0Ölçülmedi

Güç ver, ölç

UPS takılı, ekran ve modem açıkken gerilim ve akım osiloskop/multimetre ile ölçülür; undervolt olayı log'a marker olarak düşülür.

kanıt yok

B1Planlandı

Yakıt ölçer oku

`parts.ts` yazılım kapıları sırası: ilk turda yalnız güç, sonra I2C SoC (INA219 / MAX17048 sınıfı). Okunan değer kalibre edilmeden eşik seçilmez.

Kaynak: `website/src/lib/parts.ts` · `ups-hat` · software[1]

B2Planlandı

Düşük bataryada düzenli shutdown

Eşik altında yeni iş kabul edilmez, kalıcı yazım tamamlanır, saat ve denetim kaydı mühürlenir, sonra güç kesilir. Ani kesinti ile düzenli kapanış ayrı ayrı sınanır.

Kaynak: `website/src/lib/parts.ts` · `ups-hat` · software[2]

B3Ölçülmedi

Kalıcılık kesme testi

Yazımın rastgele bir anında güç kesilir; yeniden açıldığında kayıp ya da çift kayıt olmaması gerekir. Bu test koşulmadan 'kesintide güvenli' denmez.

kanıt yok

B4Planlandı

Hücre ve kasa kararı

Hücreler aynı marka/model/yaşta olmalı; ters ya da eşleşmemiş hücre güvenlik riskidir. Pogo pinler hizasızsa yükte reset oluşur.

Kaynak: `website/src/lib/parts.ts` · `ups-hat` · note + pitfalls

PİLİN GÜVENLİK ANLAMI

Enerji kesilirse monotonik saat sıfırlanır; duvar saati RTC'den geri gelir

Saat, saldırganın iki yöne de kaydırabildiği tek güvenlik girdisidir: ileri almak kiralamayı erken bitirir, geri almak süresi geçmiş sertifikayı diriltir. Bu yüzden kurallar yorumda değil, durumsuz ve host'ta çalıştırılabilir bir modülde durur: abi/src/time_security.rs.

S1

İki saat, asla tek saat

Enerji kesilince monotonik sayaç sıfırlanır, duvar saati ise RTC'den geri gelir. Saldırganın ileri ya da geri kaydırabildiği tek güvenlik girdisi duvar saatidir.

Deadline, uyku, IPC timeout, retry bütçesi ve capability süresi monotonik sayacı okur. `wall_clock_may_measure_elapsed` her seviyede `false` döner; duvar saati yalnız insan-okur damga ve takvim kararı içindir.

abi/src/time_security.rs · ClockedDecision, wall_clock_may_measure_elapsed

S2

Duvar saati yalnız ileri gider ve bunu söyler

Saat geriye düşerse süresi geçmiş bir sertifika yeniden geçerli olur, replay penceresi açılır, iptal edilmiş capability'nin süresi uzar ve silinmiş bir denetim kaydı makul görünür.

`next_step` bir taban tutar: geri teklif `Rollback` diye raporlanır, taban düşmez; pencere dışı teklif `Implausible` olur. Yanlış saat yaşanabilir, sessizce yanlış saat yaşanamaz.

abi/src/time_security.rs · next_step; kernel/src/driver/rpi5_rtc.rs · WallClockGuard

S3

Güven kazanılır, tavanı pil koyar

Tek bir okumanın bizimle uyuşması PMIC'in yaşadığını kanıtlar; saati güç kesintisi boyunca saydığını kanıtlamaz. Hücre bunu taşıyamıyorsa saat yetki kazanamaz.

`resolve_trust` hücre `Absent` ya da `Weak` ise sonucu `None`'da tutar. `RtcUncorroborated` yalnız kanıttır; `RtcCorroborated` için hem çapa hem ±5 s uyuşma gerekir.

abi/src/time_security.rs · resolve_trust, corroborates, backup_cell

S4

Takvim güvenlik kararı fail-closed

Eşik altında saat güvenilmez hale gelir; “muhtemelen doğru” bir saat, hiç saati olmamasından daha pahalıdır.

`calendar_security_decision_allowed` yalnız `RtcCorroborated` için `true` döner. Altındaki seviyelerde sertifika, kira ve replay aritmetiği reddedilir; tahminle ilerlenmez.

abi/src/time_security.rs · calendar_security_decision_allowed

S5

Denetim sürekliliği pile bağlıdır — ve yazma yetkisi kurulamaz

Kayıt damgaları takvim saatine dayanır; hücre biterse cihaz her açılışta saatini kaybeder. Öte yandan saati ileri sürmek de bir yetkidir ve o yetki kimseye verilmemiştir.

`set_backup_epoch` bir `RtcWriteGrant` ister; alan özel, kurucu yok. Üretim imajı iyi davranan değil, yazma-yeteneksiz bir imajdır; `rpi5_rtc_source.rs` bunu kaynaktan doğrular.

kernel/src/driver/rpi5_rtc.rs · RtcWriteGrant; simulation/tests/rpi5_rtc_source.rs

S6

Kaynak PASS fiziksel PASS değildir

Derlenen sürücü, geçen kaynak testi ya da model kaydı; hücrenin gerçekten saat taşıdığını göstermez.

Bu sayfadaki her satır durum etiketi taşır. Ölçülmemiş kalem ölçülmedi kalır; kanıtı yoksa kanıt yok yazar.

Depo kuralı · durum tablosu

DURUM TABLOSU

Her kalem: durum etiketi ve kanıt ya da kaynak referansı

RTC yedek hücresi (CR2032) J5'e takıldı · 2026-09-16
Takıldı
Fotoğraf: /home/onder/Downloads/IMG_0044.jpeg
VideoCore mailbox property kanalı (kernel)
Takıldı
`kernel/src/driver/mailbox.rs` · `call`, `PropertyBuffer`, `CHANNEL`; üretimde bugün UART saat hızı okumasında kullanılıyor
RTC sürücüsü: seçiciler, reddeden hatalar, atomik taban
Yazılıyor
`kernel/src/driver/rpi5_rtc.rs` (413 satır · `driver/mod.rs` içinde bildirilmiş). Fiziksel makbuz yok.
PMIC'ten okunmuş epoch'un fiziksel makbuzu (RTCPROBE)
Ölçülmedi
kanıt yok · depodaki hiçbir UART kaydı bu kartın PMIC'inden okunmuş bir epoch göstermiyor
Üretim boot çağrısı (main.rs)
Planlandı
Çağrı yok; `simulation/tests/rpi5_rtc_source.rs` üretim çağrısı olmadığını kaynaktan doğrular
Saat yazma yetkisi (RtcWriteGrant)
Takıldı
`kernel/src/driver/rpi5_rtc.rs` · alan özel, kurucu yok: imaj yazma-yeteneksiz; `rpi5-rtc-set` özelliği kapalı
Zaman güvenlik politikası (iki saat, taban, merdiven, fail-closed)
Takıldı
`abi/src/time_security.rs` · `next_step`, `resolve_trust`, `calendar_security_decision_allowed`; testler aynı dosyanın `#[cfg(test)]` bloğunda host'ta koşar
Hücre voltajı okuması (BackupMicrovolts, seçici 7)
Ölçülmedi
kanıt yok · kod hazır: `read_backup_microvolts`
Kesinti sonrası saatin gerçekten yaşadığının ölçümü
Ölçülmedi
kanıt yok
Trickle charge ayarı (BackupChargeMicrovolts, seçici 4)
Planlandı
Karar: 0 µV'da kalır. Kaynak: Raspberry Pi RTC belgesi + `kernel/src/driver/rpi5_rtc.rs`
Epoch blob yolu (`ASLNEPO1`, `config.txt` initramfs)
Takıldı
`kernel/src/wallclock.rs`, `scripts/render-rpi5-epoch-blob.sh`, `simulation/tests/rpi5_wallclock.rs`; UART: `ASELSAN/CLOCK SRC=EPOCH_BLOB … SYNCED=1`
Ana batarya / UPS HAT kararı
Planlandı
`website/src/lib/parts.ts` · `ups-hat` satırı, `/parcalar/#batarya`
Düşük batarya eşiği ve düzenli shutdown
Ölçülmedi
kanıt yok · karar `/parcalar/` yazılım kapılarında hedef olarak duruyor
Güç bütçesi kalemlerinin gerçek akım/enerji ölçümü
Ölçülmedi
kanıt yok · `POWER_BUDGET` değerleri bütçe tahminidir
Anti-rollback hattı (S631 · `verified_boot_rollback`)
Planlandı
`kernel/src/…_s631_r2_verified_boot_rollback_instrumentation.rs`: `PHYSICAL_OBSERVATIONS = 0`, board-rpi5 kernel'e bağlı değil

Tablo bir yol haritası değil, bugünkü sınırın dürüst fotoğrafıdır. “Ölçülmedi” satırları kanıt üretilene kadar bu etiketi korur; bir sayının yazılması ölçüm yapıldığı anlamına gelmez.

KAYNAKLAR VE KANIT

İddiaların dayanakları: sürücü, politika, belge ve fotoğraf

K02
LWN · Raspberry Pi 5 RTC driver

RTC'nin DA9091 PMIC üzerinde olduğu ve erişimin YALNIZCA VideoCore firmware mailbox olduğu; doğrudan I2C/SPI register arayüzü yok.

K04
kernel/src/driver/rpi5_rtc.rs
kernel/src/driver/rpi5_rtc.rs

RTC taşıması: sekiz seçici, reddeden `RtcError`, `WallClockGuard` tabanı, `RtcWriteGrant`, `RTCPROBE` makbuz alanları. Üretim çağrısı yok.

K05
kernel/src/driver/mailbox.rs
kernel/src/driver/mailbox.rs

VideoCore property kanalı: `call`, `PropertyBuffer`, `CHANNEL`. RTC erişiminin tek taşıması budur.

K06
abi/src/time_security.rs
abi/src/time_security.rs

Politika: `plausible_epoch` penceresi, `backup_cell` eşikleri, `resolve_trust` merdiveni, `next_step` tabanı, takvim kararının fail-closed kapısı.

K07
simulation/tests/rpi5_rtc_source.rs
simulation/tests/rpi5_rtc_source.rs

Kaynak testi: üretim çağrısı yok, yazma yetkisi üreticisi yok, seçici sırası firmware ABI'siyle aynı.

K08
kernel/src/wallclock.rs
kernel/src/wallclock.rs

Bugünkü duvar saati: 32 baytlık blob, `/chosen/linux,initrd-start`, blob yoksa `ClockSource::None`.

K09
scripts/render-rpi5-epoch-blob.sh
scripts/render-rpi5-epoch-blob.sh

Host tarafında blob'u yazan araç; `make refresh-rpi5-epoch` hedefiyle tazelenir.

K10
website/src/lib/parts.ts · POWER_BUDGET ve `ups-hat`
website/src/lib/parts.ts

Ana batarya kararı, bütçe kalemleri ve düşük batarya shutdown hedefi.

K11
Kanıt fotoğrafı · IMG_0044.jpeg (2026-09-16)
/home/onder/Downloads/IMG_0044.jpeg

CR2032 hücresinin J5 kablosuna bağlı olduğunu gösteren kare. Elektriksel ölçüm değildir.