← All posts tagged ARM

mend0za

Segfault (от D.U.M.A.) в строке 41:

29: char *buf = malloc(SIZE);
41: buf[SIZE+i] = SIZE+i; // i=6

Особенно доставляет что i=6. Т.е. за границу памяти вылезли уже на 7 байт.
Just because DUMA_MIN_ALIGNMENT = 8 (ARM EABI, привет родной).

А ещё неизвестно откуда прилетает KILL, когда прожка уютно аллоцировала 420MB. Причём только вместе с libduma. Психопатический swap на NFS не помогает. И кажется этот kill не от OOM killer. Чудесный мир Embedded Linux и arm5tejl .

mend0za

Написал получение размера кэша данных L1 для ARMv7. Большая часть на армовом ассемблере. Чувствую себя непобедимым. Проверил на Exynos5, надеюсь будет работать и на чём-нить другом :).

Оффсеты стащил у WindRiver : marc.info , но целый день читать datasheets and whitepapers всё равно пришлось.

Из срача, сопровождавшего патч в linux-arm-kernel вытащил волшебное определение:
"Pointless. Useless. Stupid. And unnecessarily complex for no reason what so ever".