Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Podívejte se na konfiguraci kernelu a oveřte, zda je nastaveno
CONFIG_X86_CMOV=nto by snad mělo pomoci. Pravda je, že tato volba závisí na CONFIG_MK7, takže by rozhodně neměla být povolená.
Kde jádro kompilujete by mělo být jedno, pokud při překladu nenastavíte např. -march=native nebo tak.
Pokud se volba v configu nenachází, měla by být vypnutá. Kdybyste volbu CONFIG_X86_CMOV=y dopsal ručně, měl by vás překladač vyřvat, že není splněna závislost.
Můžete zkusit jádro přeložit pomocí (jestli to bude mít nějaký vliv se ale jistý nejsem)
KCFLAGS="-march=k6" make bzImage modules
Vyčíst konfiguraci běžícího jádra lze z
zcat /proc/config.gzpokud bylo jádro přeloženo s povoleným CONFIG_IKCONFIG_PROC.
arch/x86/include/asm/required-features.h:
#if defined(CONFIG_X86_CMOV) || defined(CONFIG_X86_64) # define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31)) #else # define NEED_CMOV 0 #endifTakze by to melo fungovat.
.config, vystup z make clean && make V=1 > make_log.txt(soubor
make_log.txt) a vystup z
gcc -isystem /usr/lib64/gcc/*/*/include -nostdinc -Iarch/x86/include -Iarch/x86/include/generated -Iinclude -include include/linux/kconfig.h -c arch/x86/boot/cpucheck.c -D__KERNEL__ -D_SETUP -E -o cpucheck.txt(soubor
cpucheck.txt - pozor mozna bude nutne upravit cestu po -isystem a taky je treba to poustet az po kompletnim make) - tady je zajimavych par radek po static const u32 req_flags[10] = .
Pokud tam je (1<<((0*32+15) & 31) pak kernel pri startu bude chtit, aby procesor umel CMOV - ukol je tedy aby to tam nebylo. Priklad spatne situace:
static const u32 req_flags[10] =
{
((1<<((0*32+ 0) & 31))|(1<<((0*32+ 3)) & 31)|(1<<((0*32+ 5) & 31))|(1<<((0*32+ 6) & 31))| (1<<((0*32+ 8) & 31))|(1<<((0*32+13)) & 31)|(1<<((0*32+24) & 31))|(1<<((0*32+15) & 31))| (1<<((0*32+25) & 31))|(1<<((0*32+26) & 31))),
((1<<((1*32+29) & 31))|0),
0,
0,
0,
0,
0,
0,
};
Tiskni
Sdílej: