abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:33 | Bezpečnostní upozornění

    Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Komunita

    V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.

    … více »
    lkocman | Komentářů: 0
    včera 16:00 | Pozvánky

    Už je 14 dní zbývá do začátku osmého ročníku komunitního setkání nejen českých a slovenských správců sítí CSNOG 2026. Registrace na akci je stále otevřená, ale termín uzávěrky se blíží. I proto organizátoři doporučují, aby se zájemci přihlásili brzy, nejlépe ještě tento týden.

    … více »
    VSladek | Komentářů: 0
    včera 02:22 | Pozvánky

    Rok 2026 sotva začal, ale už v prvním týdnu se nashromáždilo nezvykle mnoho zajímavostí, událostí a zpráv. Jedno je ale jisté - už ve středu se koná Virtuální Bastlírna - online setkání techniků, bastlířů a ajťáků, kam rozhodně doražte, ideálně s mikrofonem a kamerou a zapojte se do diskuze o zajímavých technických tématech.

    Dějí se i ne zcela šťastné věci – zdražování a nedostupnost RAM a SSD, nedostatek waferů, 3€ clo na každou položku z Číny … více »
    bkralik | Komentářů: 0
    5.1. 22:00 | Komunita

    Vývojáři GNOME a Firefoxu zvažují ve výchozím nastavení vypnutí funkce vkládání prostředním tlačítkem myši. Zdůvodnění: "U většiny uživatelů tento X11ism způsobuje neočekávané chování".

    Ladislav Hagara | Komentářů: 10
    5.1. 15:22 | Nová verze

    Nástroj pro obnovu dat GNU ddrescue (Wikipedie) byl vydán v nové verzi 1.30. Vylepšena byla automatická obnova z disků s poškozenou čtecí hlavou.

    Ladislav Hagara | Komentářů: 0
    5.1. 12:55 | IT novinky

    Protokol IPv6 má již 30 let. První návrh specifikace RFC 1883 je z prosince 1995.

    Ladislav Hagara | Komentářů: 13
    5.1. 01:55 | IT novinky

    Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.

    Ladislav Hagara | Komentářů: 2
    4.1. 21:11 | Nová verze

    Byla vydána nová verze 26.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Anh-Linh. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 0
    3.1. 20:22 | Humor Ladislav Hagara | Komentářů: 67
    Které desktopové prostředí na Linuxu používáte?
     (1%)
     (4%)
     (0%)
     (10%)
     (24%)
     (6%)
     (6%)
     (3%)
     (10%)
     (52%)
    Celkem 229 hlasů
     Komentářů: 4, poslední včera 12:50
    Rozcestník

    Dotaz: Jak se prepocivaji adresy po pouziti mmap ARM

    24.8.2013 12:40 mig-31 | skóre: 2
    Jak se prepocivaji adresy po pouziti mmap ARM
    Přečteno: 381×

    Nejak nemuzu najit jednoduche vysvetli prepoctu address processoru (v mem pripade 32-bit ARM) po pouziti funkci mmap. Nejaky odkaz na matematiku adresovani.

       #define MAP_SIZE 4096UL
       #define MAP_MASK (MAP_SIZE - 1)
    
       #define PIOB_BASE=$FFFFF600; 
       #define PIOC_IFDR PIOC_BASE + 0x0024
    
       d = open("/dev/mem", O_RDWR | O_SYNC));
       map_base = mmap(NULL, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, PIOB_BASE  & ~MAP_MASK);
      
       *((unsigned long *) (map_base + (PIOB_IFDR & MAP_MASK))) = PIO_B27;
    
    

    Proc pri mapovani stranky rozmerem 4096 (0x1000) se musi BASE adress se delit na celo 0x1000 (PIOB_BASE & ~MAP_MASK)= div(PIOB_BASE,0x1000)?

    Proc dalsi pro zapis na dalsi adresu PIOC_IFDR vychazi posun na (PIOB_IFDR & MAP_MASK)=0x624?

    Dekuji moc.

    Řešení dotazu:


    Odpovědi

    Luboš Doležel (Doli) avatar 25.8.2013 14:32 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak se prepocivaji adresy po pouziti mmap ARM
    Možná mi něco uniká, ale PIOB_BASE & ~MAP_MASK není dělení, nýbrž zaokrouhlení. A to mi nepřijde jako zvláštní požadavek, když se mají stránky systémové paměti namapovat do prostoru virtuální paměti procesu.
    26.8.2013 12:08 mig-31 | skóre: 2
    Rozbalit Rozbalit vše Re: Jak se prepocivaji adresy po pouziti mmap ARM

    Mate pravdu je to vlaste deleni s zaokroulenim. Ale mne zajima jak se addresy prepocitavaji po namapovani pomoci funkci mmap. Potrebuji jen nasmerovat

    .

    Pochobil jsem ze base address PIOB_BASE se ma rozdelit na velikost stranky 0x1000. A pak offset na dalsi addresu PIOB_OER PIOB_BASE + 0x0010 se ma delat pomoci vstahu (PIOB_BASE + 0x0010) & MAP_MASK

    26.8.2013 15:12 gamer
    Rozbalit Rozbalit vše Re: Jak se prepocivaji adresy po pouziti mmap ARM
    Adresy se nepřepočítavají nijak, na adrese kterou vrátí mmap je přesně to, co je v mapovaném souboru na daném offsetu. Zkus si to přepsat jinak:
    #define PIOB_BASE=$FFFFF600; 
    #define PIOB_IFDR_OFFSET 0x0024
    
    map_base = mmap(NULL, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, PIOB_BASE - (PIOB_BASE % MAP_SIZE);
    *((unsigned long *) (map_base + (PIOB_BASE % MAP_SIZE) + PIOB_IFDR_OFFSET)) = neco;
    
    Takhle je to myslím pochopitelnější. Mimochodem ten kód je dost zprasený, předpokládá se, že se bude mapovat jen jedna stránka, MAP_SIZE by mělo jmenovat PAGE_SIZE, které by se mělo zjistit voláním getpagesize() a ne to mít definované natvrdo a úplně ten kód přestane fungovat, pokud by offset registru překročil hranici stránky. Více man 2 mmap.
    Řešení 1× (mig-31 (tazatel))
    26.8.2013 18:45 mig-31 | skóre: 2
    Rozbalit Rozbalit vše Re: Jak se prepocivaji adresy po pouziti mmap ARM

    Dekuji za odpoved'. Tento kod se tyka primo urciteho druhu procesoru a ovladani PIO (parallel input output) pinu na devepment boardu a v tom to pripade jedna stranka bohate staci. Mate pravdu, ze kod je prasacky a tezko se chape z toho jak se pocitaji adresy. Ale je to vice mene nejaky priklad. Stejne vlastni aplikaci budu psat na FreePascalu.

    Jinak mi slo o to proc se to ma tak pocitat. A je to dane tim,ze v Linuxu se pouziva strankova pamet'. A to znamena,ze v pripade 32-bitove adresy offset z budou tvorit 12 mladsich bitu (pocet bitu offsetu=log2(page_size)), zbylych starsich 20-bitu je cislo stranky.

    Omluvam se za to, ze asi jsem nespravne zformuloval otazku. Dekuji vsem.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.