Whats meaning of obj-y += something/ in linux kernel Makefile?

Kernel Makefiles are part of the kbuild system, documented in various places on the web, for example http://lwn.net/Articles/21835/. The relevant excerpt is here: — 3.1 Goal definitions Goal definitions are the main part (heart) of the kbuild Makefile. These lines define the files to be built, any special compilation options, and any subdirectories to be … Read more

Difference between Kernel Virtual Address and Kernel Logical Address?

The Linux kernel maps most of the virtual address space that belongs to the kernel to perform 1:1 mapping with an offset of the first part of physical memory. (slightly less then for 1Gb for 32bit x86, can be different for other processors or configurations). For example, for kernel code on x86 address 0xc00000001 is … Read more

Rationale behind the container_of macro in linux/list.h

It adds some type checking. With your version, this compiles fine (without warning): struct foo { int bar; }; …. float a; struct foo *var = container_of(&a, foo, bar); With the kernel version, the compiler reports: warning: initialization from incompatible pointer type Good explanation of how the macro works: container_of by Greg Kroah-Hartman.

What is the Linux built-in driver load order?

Built-in drivers wont be loaded, hence built-in. Their initialization functions are called and the drivers are activated when kernel sets up itself. These init functions are called in init/main.c::do_initcalls(). All init calls are classified in levels, which are defined in initcall_levels and include/linux/init.h These levels are actuall symbols defined in linker script (arch/*/kernel/vmlinux.lds.*). At kernel … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)