Skip to content

Instantly share code, notes, and snippets.


Rostislav Lisovy lisovy

View GitHub Profile
View 802.11p-on-linux
Clone and compile the Linux kernel
# Use some extra directory for all the components needed
cd c2c/
# Clone the repository (this will take a *few minutes*)
c2c$ git clone
c2c$ cd 802.11p-linux
# Checkout particular branch
View MTRR.c
* Inpired by
#define MTRR_TYPE_UC 0x0
#define MTRR_TYPE_WC 0x1
#define MTRR_TYPE_WT 0x4
#define MTRR_TYPE_WP 0x5
#define MTRR_TYPE_WB 0x6
if [ $# -ne 2 ]; then
echo -e "Usage: $0 FLAC_FILE CUE_FILE\n"
exit 1;
for (( i=1 ; $i-10; i=$i+1 ))
sleep 0.5s;
echo -e ' oo\n<|>\n_|_';
sleep 0.5s;
View C
Undefined behavior
...If any step in a program's execution has undefined behavior,
then the entire execution is without meaning. This is important:
it's not that evaluating (1<<32) has an unpredictable result,
but rather that the entire execution of a program that evaluates
this expression is meaningless. Also, it's not that the execution
is meaningful up to the point where undefined behavior happens:
View C_hw_access
Multiplatform programming
Issues to be aware of:
* Integer types sizes (int -- 16 or 32 bits? long -- 32 or 64 bits?)
- Storing pointers into integer types
(unsigned long on 64-bit Linux vs. 64-bit Windows)
* Endianess (big, little)
* Memory access width (byte access, word access)
* Unaligned memory access
View imx53_voipac
Barebox bootloader
sudo apt-get install lzop, libusb-1.0-0-dev
Build it
git clone git://
cd barebox/
mkdir _build
CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm O=_build imx_v7_defconfig
View lwip.txt
pbuf vs. netbuf
pbuf -- internal representation of a packet (should not be directly accessed
when using netconn or socket API).
PBUF_POOL -- one struct containing header + data buffer (+ space reserved for
headers) obtained from a pool of limited amount of statically allocated
structs (i.e. slab allocator).
The size of the whole struct is fixed, in case the data are bigger than the
pre-allocated buffer in a struct, multiple pbufs are chained together
View qemu_pci_pass_through.txt
How to use 'pci pass-through' to run Linux in Qemu accessing real Ath9k adapter
# Boot kernel with 'intel_iommu=on'
# Unbind driver from the device and bind 'pci-stub' to it
echo "168c 0030" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:0b:00.0 > /sys/bus/pci/devices/0000:0b:00.0/driver/unbind
echo 0000:0b:00.0 > /sys/bus/pci/drivers/pci-stub/bind
View mars_board.txt
git clone git://
cd u-boot
# Build U-boot
mkdir _build
make O=_build marsboard_defconfig