Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

BufferField implicit conversion not supported in OperationRegion command

Aperta
#273 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

Inizia riproducendo lo snippet ASL che fallisce e segui la gestione del comando OperationRegion, in particolare l’espressione DerefOf che produce un BufferField. Leggi le regole esistenti per la conversione dei valori AML e i test correlati, se presenti. Il lavoro è completato quando questa OperationRegion viene analizzata correttamente con l’indirizzo intero previsto e sono presenti test di regressione per lo snippet.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

NB: This issue repros only if #272 is worked around, otherwise that hits first.

My machine has an ASL block that simplifies down the snippet at below. The crate can't parse the OperationRegion command - ObjectNotOfExpectedType { expected: Integer, got: BufferField }.

I think BufferField should be implicitly converted to Integer here (and possibly other places too)?

Failing snippet

DefinitionBlock ("", "SSDT", 2, "AMD", "AmdTable", 0x00000002)
{
    Scope (\_SB)
    {
        Name (ADAT, Buffer (0x0010) //keep
        {
            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........

        })

        Device (AWR0)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, 0x90)  // _UID: Unique ID
            Device (ABR0)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, 0x80)  // _UID: Unique ID
                OperationRegion (A053, SystemMemory, (DerefOf (\_SB.ADAT [(0x04)])), 0x1000) // <--- this line fails
                Field (A053, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x18),
                    A, 8
                }
            }
        }
    }
}

Quite happy to take a look if you give me a summary of how this is intended to work.

Lingua principale
Rust
Stelle
245
Fork
93
Merge medio
3g 3h
PR unite (30g)
19

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rust-osdev/acpi

Tutte le issue di rust-osdev/acpi

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.