This is my short saga about my not necessarily intelligent actions for reading a DocBook paper. So I wanted to read some documentation from my Linux kernel sources. It happened to be in DocBook format. In the kernel source’s root, I tried $ make htmldocs or I could have gone $ make pdfdocs Or mandocs. [...]
What this blob is all about Running some home-cooked SDMA scripts on Freescale’s Linux 2.6.28 kernel on an i.MX25 processor, I’m puzzled by the fact, that cache flushing with dma_map_single(…, DMA_TO_DEVICE) doesn’t hurt, but nothing happens if the calls are removed. On the other hand, attempting to remove cache invalidation calls, as in dma_map_single(…, DMA_FROM_DEVICE) [...]
The problem In short: Running linux 3.8.0 on Altera’s Cyclone V SoC, NetworkManager doesn’t bring up the Ethernet port. It also makes false accusations such as Jan 1 00:00:17 localhost NetworkManager[1206]: <info> (eth0): driver ‘stmmaceth’ does not support carrier detection. and later on also says Jan 1 00:00:17 localhost NetworkManager[1206]: <warn> (eth0): couldn’t get carrier [...]
Trying to insmod a kernel module, which was just compiled against the true headers of the running kernel, I got: # insmod mymodule.ko insmod: error inserting ‘mymodule.ko’: -1 Invalid module format And this in /var/log/syslog: mymodule: version magic ’3.3.0-xxx SMP preempt mod_unload ARMv7 ‘ should be ’3.3.0-xxx+ SMP preempt mod_unload ARMv7 ‘ Really? Are you [...]
Having some trouble to figure out what I should write in my own hand-written DTS entry for my logic, I ended up reading the sources of the Linux kernel (version 3.3, which is the currently used for Zynq). The purpose is to hook up a device defined in the PL of a Zynq-7000 (FPGA-style logic [...]
Looking at my system log (kernel 2.6.35.4), this is a common thing: Apr 24 12:04:49 kernel: radeon 0000:01:00.0: ffff8802d0aa1a00 reserve failed for wait Apr 24 12:04:49 kernel: radeon 0000:01:00.0: ffff8802d0aa1a00 reserve failed for wait Apr 24 12:04:51 kernel: radeon 0000:01:00.0: ffff8802d0aa1a00 reserve failed for wait Apr 24 12:04:51 kernel: radeon 0000:01:00.0: ffff8802d0aa1a00 reserve failed for [...]
It may help investigating the interrupt descriptors. For a 2.6.38 kernel, putting this in a kernel module load supplies some information (includes, declarations and code mixed below. Organize properly in your own module) #include <linux/irq.h> #include <linux/interrupt.h> #include <asm/irq.h> int i; struct irq_desc *desc; for_each_irq_desc(i, desc) { if (!desc) continue; printk(KERN_INFO “%d: status=%08x, chip=%08x, handle_irq=%08x\n”, [...]
What we have here As one can guess from my notes about the i.MX51′s external bus and the oscilloscope shots I’ve published, I made myself a small dissection kit for watching the bus’ lines activity with a digital oscilloscope. This is a good time to mention, that the kit was done quickly and dirty, so [...]
These are my notes as I made my way in grasping how the EIM bus works. Unfortunately, the information in the reference manual was far from complete, so except for the list of acronyms, this page consists of things I found out by reverse engineering the bus. The actual bus cycle outlines and timings are [...]
Scope This post was spun off the main post regarding setting up the Armadeus board for Embedded Linux on ARM and Xilinx Spartan-6 FPGA. It covers my own little war story as I set up the Buildroot SDK, so I could have my own cross compiler and Linux kernel to work with. As kernel.org happened [...]