Loading Documentation/cputopology.txt +3 −3 Original line number Original line Diff line number Diff line Loading @@ -18,11 +18,11 @@ For an architecture to support this feature, it must define some of these macros in include/asm-XXX/topology.h: these macros in include/asm-XXX/topology.h: #define topology_physical_package_id(cpu) #define topology_physical_package_id(cpu) #define topology_core_id(cpu) #define topology_core_id(cpu) #define topology_thread_siblings(cpu) #define topology_thread_cpumask(cpu) #define topology_core_siblings(cpu) #define topology_core_cpumask(cpu) The type of **_id is int. The type of **_id is int. The type of siblings is cpumask_t. The type of siblings is (const) struct cpumask *. To be consistent on all architectures, include/linux/topology.h To be consistent on all architectures, include/linux/topology.h provides default definitions for any of the above macros that are provides default definitions for any of the above macros that are Loading Documentation/kernel-parameters.txt +6 −1 Original line number Original line Diff line number Diff line Loading @@ -1310,8 +1310,13 @@ and is between 256 and 4096 characters. It is defined in the file memtest= [KNL,X86] Enable memtest memtest= [KNL,X86] Enable memtest Format: <integer> Format: <integer> range: 0,4 : pattern number default : 0 <disable> default : 0 <disable> Specifies the number of memtest passes to be performed. Each pass selects another test pattern from a given set of patterns. Memtest fills the memory with this pattern, validates memory contents and reserves bad memory regions that are detected. meye.*= [HW] Set MotionEye Camera parameters meye.*= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. See Documentation/video4linux/meye.txt. Loading Documentation/x86/boot.txt +11 −7 Original line number Original line Diff line number Diff line Loading @@ -158,7 +158,7 @@ Offset Proto Name Meaning 0202/4 2.00+ header Magic signature "HdrS" 0202/4 2.00+ header Magic signature "HdrS" 0206/2 2.00+ version Boot protocol version supported 0206/2 2.00+ version Boot protocol version supported 0208/4 2.00+ realmode_swtch Boot loader hook (see below) 0208/4 2.00+ realmode_swtch Boot loader hook (see below) 020C/2 2.00+ start_sys The load-low segment (0x1000) (obsolete) 020C/2 2.00+ start_sys_seg The load-low segment (0x1000) (obsolete) 020E/2 2.00+ kernel_version Pointer to kernel version string 020E/2 2.00+ kernel_version Pointer to kernel version string 0210/1 2.00+ type_of_loader Boot loader identifier 0210/1 2.00+ type_of_loader Boot loader identifier 0211/1 2.00+ loadflags Boot protocol option flags 0211/1 2.00+ loadflags Boot protocol option flags Loading @@ -170,10 +170,11 @@ Offset Proto Name Meaning 0224/2 2.01+ heap_end_ptr Free memory after setup end 0224/2 2.01+ heap_end_ptr Free memory after setup end 0226/2 N/A pad1 Unused 0226/2 N/A pad1 Unused 0228/4 2.02+ cmd_line_ptr 32-bit pointer to the kernel command line 0228/4 2.02+ cmd_line_ptr 32-bit pointer to the kernel command line 022C/4 2.03+ initrd_addr_max Highest legal initrd address 022C/4 2.03+ ramdisk_max Highest legal initrd address 0230/4 2.05+ kernel_alignment Physical addr alignment required for kernel 0230/4 2.05+ kernel_alignment Physical addr alignment required for kernel 0234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not 0234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not 0235/3 N/A pad2 Unused 0235/1 N/A pad2 Unused 0236/2 N/A pad3 Unused 0238/4 2.06+ cmdline_size Maximum size of the kernel command line 0238/4 2.06+ cmdline_size Maximum size of the kernel command line 023C/4 2.07+ hardware_subarch Hardware subarchitecture 023C/4 2.07+ hardware_subarch Hardware subarchitecture 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data Loading Loading @@ -299,14 +300,14 @@ Protocol: 2.00+ e.g. 0x0204 for version 2.04, and 0x0a11 for a hypothetical version e.g. 0x0204 for version 2.04, and 0x0a11 for a hypothetical version 10.17. 10.17. Field name: readmode_swtch Field name: realmode_swtch Type: modify (optional) Type: modify (optional) Offset/size: 0x208/4 Offset/size: 0x208/4 Protocol: 2.00+ Protocol: 2.00+ Boot loader hook (see ADVANCED BOOT LOADER HOOKS below.) Boot loader hook (see ADVANCED BOOT LOADER HOOKS below.) Field name: start_sys Field name: start_sys_seg Type: read Type: read Offset/size: 0x20c/2 Offset/size: 0x20c/2 Protocol: 2.00+ Protocol: 2.00+ Loading Loading @@ -468,7 +469,7 @@ Protocol: 2.02+ zero, the kernel will assume that your boot loader does not support zero, the kernel will assume that your boot loader does not support the 2.02+ protocol. the 2.02+ protocol. Field name: initrd_addr_max Field name: ramdisk_max Type: read Type: read Offset/size: 0x22c/4 Offset/size: 0x22c/4 Protocol: 2.03+ Protocol: 2.03+ Loading Loading @@ -542,7 +543,10 @@ Protocol: 2.08+ The payload may be compressed. The format of both the compressed and The payload may be compressed. The format of both the compressed and uncompressed data should be determined using the standard magic uncompressed data should be determined using the standard magic numbers. Currently only gzip compressed ELF is used. numbers. The currently supported compression formats are gzip (magic numbers 1F 8B or 1F 9E), bzip2 (magic number 42 5A) and LZMA (magic number 5D 00). The uncompressed payload is currently always ELF (magic number 7F 45 4C 46). Field name: payload_length Field name: payload_length Type: read Type: read Loading Documentation/x86/earlyprintk.txt 0 → 100644 +101 −0 Original line number Original line Diff line number Diff line Mini-HOWTO for using the earlyprintk=dbgp boot option with a USB2 Debug port key and a debug cable, on x86 systems. You need two computers, the 'USB debug key' special gadget and and two USB cables, connected like this: [host/target] <-------> [USB debug key] <-------> [client/console] 1. There are three specific hardware requirements: a.) Host/target system needs to have USB debug port capability. You can check this capability by looking at a 'Debug port' bit in the lspci -vvv output: # lspci -vvv ... 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) (prog-if 20 [EHCI]) Subsystem: Lenovo ThinkPad T61 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin D routed to IRQ 19 Region 0: Memory at fe227000 (32-bit, non-prefetchable) [size=1K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+ Capabilities: [58] Debug port: BAR=1 offset=00a0 ^^^^^^^^^^^ <==================== [ HERE ] Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd ... ( If your system does not list a debug port capability then you probably wont be able to use the USB debug key. ) b.) You also need a Netchip USB debug cable/key: http://www.plxtech.com/products/NET2000/NET20DC/default.asp This is a small blue plastic connector with two USB connections, it draws power from its USB connections. c.) Thirdly, you need a second client/console system with a regular USB port. 2. Software requirements: a.) On the host/target system: You need to enable the following kernel config option: CONFIG_EARLY_PRINTK_DBGP=y And you need to add the boot command line: "earlyprintk=dbgp". (If you are using Grub, append it to the 'kernel' line in /etc/grub.conf) NOTE: normally earlyprintk console gets turned off once the regular console is alive - use "earlyprintk=dbgp,keep" to keep this channel open beyond early bootup. This can be useful for debugging crashes under Xorg, etc. b.) On the client/console system: You should enable the following kernel config option: CONFIG_USB_SERIAL_DEBUG=y On the next bootup with the modified kernel you should get a /dev/ttyUSBx device(s). Now this channel of kernel messages is ready to be used: start your favorite terminal emulator (minicom, etc.) and set it up to use /dev/ttyUSB0 - or use a raw 'cat /dev/ttyUSBx' to see the raw output. c.) On Nvidia Southbridge based systems: the kernel will try to probe and find out which port has debug device connected. 3. Testing that it works fine: You can test the output by using earlyprintk=dbgp,keep and provoking kernel messages on the host/target system. You can provoke a harmless kernel message by for example doing: echo h > /proc/sysrq-trigger On the host/target system you should see this help line in "dmesg" output: SysRq : HELP : loglevel(0-9) reBoot Crashdump terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z) On the client/console system do: cat /dev/ttyUSB0 And you should see the help line above displayed shortly after you've provoked it on the host system. If it does not work then please ask about it on the linux-kernel@vger.kernel.org mailing list or contact the x86 maintainers. Makefile +2 −1 Original line number Original line Diff line number Diff line Loading @@ -533,8 +533,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN}) endif endif # Force gcc to behave correct even for buggy distributions # Force gcc to behave correct even for buggy distributions # Arch Makefiles may override this setting ifndef CONFIG_CC_STACKPROTECTOR KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) endif ifdef CONFIG_FRAME_POINTER ifdef CONFIG_FRAME_POINTER KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls Loading Loading
Documentation/cputopology.txt +3 −3 Original line number Original line Diff line number Diff line Loading @@ -18,11 +18,11 @@ For an architecture to support this feature, it must define some of these macros in include/asm-XXX/topology.h: these macros in include/asm-XXX/topology.h: #define topology_physical_package_id(cpu) #define topology_physical_package_id(cpu) #define topology_core_id(cpu) #define topology_core_id(cpu) #define topology_thread_siblings(cpu) #define topology_thread_cpumask(cpu) #define topology_core_siblings(cpu) #define topology_core_cpumask(cpu) The type of **_id is int. The type of **_id is int. The type of siblings is cpumask_t. The type of siblings is (const) struct cpumask *. To be consistent on all architectures, include/linux/topology.h To be consistent on all architectures, include/linux/topology.h provides default definitions for any of the above macros that are provides default definitions for any of the above macros that are Loading
Documentation/kernel-parameters.txt +6 −1 Original line number Original line Diff line number Diff line Loading @@ -1310,8 +1310,13 @@ and is between 256 and 4096 characters. It is defined in the file memtest= [KNL,X86] Enable memtest memtest= [KNL,X86] Enable memtest Format: <integer> Format: <integer> range: 0,4 : pattern number default : 0 <disable> default : 0 <disable> Specifies the number of memtest passes to be performed. Each pass selects another test pattern from a given set of patterns. Memtest fills the memory with this pattern, validates memory contents and reserves bad memory regions that are detected. meye.*= [HW] Set MotionEye Camera parameters meye.*= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. See Documentation/video4linux/meye.txt. Loading
Documentation/x86/boot.txt +11 −7 Original line number Original line Diff line number Diff line Loading @@ -158,7 +158,7 @@ Offset Proto Name Meaning 0202/4 2.00+ header Magic signature "HdrS" 0202/4 2.00+ header Magic signature "HdrS" 0206/2 2.00+ version Boot protocol version supported 0206/2 2.00+ version Boot protocol version supported 0208/4 2.00+ realmode_swtch Boot loader hook (see below) 0208/4 2.00+ realmode_swtch Boot loader hook (see below) 020C/2 2.00+ start_sys The load-low segment (0x1000) (obsolete) 020C/2 2.00+ start_sys_seg The load-low segment (0x1000) (obsolete) 020E/2 2.00+ kernel_version Pointer to kernel version string 020E/2 2.00+ kernel_version Pointer to kernel version string 0210/1 2.00+ type_of_loader Boot loader identifier 0210/1 2.00+ type_of_loader Boot loader identifier 0211/1 2.00+ loadflags Boot protocol option flags 0211/1 2.00+ loadflags Boot protocol option flags Loading @@ -170,10 +170,11 @@ Offset Proto Name Meaning 0224/2 2.01+ heap_end_ptr Free memory after setup end 0224/2 2.01+ heap_end_ptr Free memory after setup end 0226/2 N/A pad1 Unused 0226/2 N/A pad1 Unused 0228/4 2.02+ cmd_line_ptr 32-bit pointer to the kernel command line 0228/4 2.02+ cmd_line_ptr 32-bit pointer to the kernel command line 022C/4 2.03+ initrd_addr_max Highest legal initrd address 022C/4 2.03+ ramdisk_max Highest legal initrd address 0230/4 2.05+ kernel_alignment Physical addr alignment required for kernel 0230/4 2.05+ kernel_alignment Physical addr alignment required for kernel 0234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not 0234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not 0235/3 N/A pad2 Unused 0235/1 N/A pad2 Unused 0236/2 N/A pad3 Unused 0238/4 2.06+ cmdline_size Maximum size of the kernel command line 0238/4 2.06+ cmdline_size Maximum size of the kernel command line 023C/4 2.07+ hardware_subarch Hardware subarchitecture 023C/4 2.07+ hardware_subarch Hardware subarchitecture 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data 0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data Loading Loading @@ -299,14 +300,14 @@ Protocol: 2.00+ e.g. 0x0204 for version 2.04, and 0x0a11 for a hypothetical version e.g. 0x0204 for version 2.04, and 0x0a11 for a hypothetical version 10.17. 10.17. Field name: readmode_swtch Field name: realmode_swtch Type: modify (optional) Type: modify (optional) Offset/size: 0x208/4 Offset/size: 0x208/4 Protocol: 2.00+ Protocol: 2.00+ Boot loader hook (see ADVANCED BOOT LOADER HOOKS below.) Boot loader hook (see ADVANCED BOOT LOADER HOOKS below.) Field name: start_sys Field name: start_sys_seg Type: read Type: read Offset/size: 0x20c/2 Offset/size: 0x20c/2 Protocol: 2.00+ Protocol: 2.00+ Loading Loading @@ -468,7 +469,7 @@ Protocol: 2.02+ zero, the kernel will assume that your boot loader does not support zero, the kernel will assume that your boot loader does not support the 2.02+ protocol. the 2.02+ protocol. Field name: initrd_addr_max Field name: ramdisk_max Type: read Type: read Offset/size: 0x22c/4 Offset/size: 0x22c/4 Protocol: 2.03+ Protocol: 2.03+ Loading Loading @@ -542,7 +543,10 @@ Protocol: 2.08+ The payload may be compressed. The format of both the compressed and The payload may be compressed. The format of both the compressed and uncompressed data should be determined using the standard magic uncompressed data should be determined using the standard magic numbers. Currently only gzip compressed ELF is used. numbers. The currently supported compression formats are gzip (magic numbers 1F 8B or 1F 9E), bzip2 (magic number 42 5A) and LZMA (magic number 5D 00). The uncompressed payload is currently always ELF (magic number 7F 45 4C 46). Field name: payload_length Field name: payload_length Type: read Type: read Loading
Documentation/x86/earlyprintk.txt 0 → 100644 +101 −0 Original line number Original line Diff line number Diff line Mini-HOWTO for using the earlyprintk=dbgp boot option with a USB2 Debug port key and a debug cable, on x86 systems. You need two computers, the 'USB debug key' special gadget and and two USB cables, connected like this: [host/target] <-------> [USB debug key] <-------> [client/console] 1. There are three specific hardware requirements: a.) Host/target system needs to have USB debug port capability. You can check this capability by looking at a 'Debug port' bit in the lspci -vvv output: # lspci -vvv ... 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) (prog-if 20 [EHCI]) Subsystem: Lenovo ThinkPad T61 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin D routed to IRQ 19 Region 0: Memory at fe227000 (32-bit, non-prefetchable) [size=1K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+ Capabilities: [58] Debug port: BAR=1 offset=00a0 ^^^^^^^^^^^ <==================== [ HERE ] Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd ... ( If your system does not list a debug port capability then you probably wont be able to use the USB debug key. ) b.) You also need a Netchip USB debug cable/key: http://www.plxtech.com/products/NET2000/NET20DC/default.asp This is a small blue plastic connector with two USB connections, it draws power from its USB connections. c.) Thirdly, you need a second client/console system with a regular USB port. 2. Software requirements: a.) On the host/target system: You need to enable the following kernel config option: CONFIG_EARLY_PRINTK_DBGP=y And you need to add the boot command line: "earlyprintk=dbgp". (If you are using Grub, append it to the 'kernel' line in /etc/grub.conf) NOTE: normally earlyprintk console gets turned off once the regular console is alive - use "earlyprintk=dbgp,keep" to keep this channel open beyond early bootup. This can be useful for debugging crashes under Xorg, etc. b.) On the client/console system: You should enable the following kernel config option: CONFIG_USB_SERIAL_DEBUG=y On the next bootup with the modified kernel you should get a /dev/ttyUSBx device(s). Now this channel of kernel messages is ready to be used: start your favorite terminal emulator (minicom, etc.) and set it up to use /dev/ttyUSB0 - or use a raw 'cat /dev/ttyUSBx' to see the raw output. c.) On Nvidia Southbridge based systems: the kernel will try to probe and find out which port has debug device connected. 3. Testing that it works fine: You can test the output by using earlyprintk=dbgp,keep and provoking kernel messages on the host/target system. You can provoke a harmless kernel message by for example doing: echo h > /proc/sysrq-trigger On the host/target system you should see this help line in "dmesg" output: SysRq : HELP : loglevel(0-9) reBoot Crashdump terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z) On the client/console system do: cat /dev/ttyUSB0 And you should see the help line above displayed shortly after you've provoked it on the host system. If it does not work then please ask about it on the linux-kernel@vger.kernel.org mailing list or contact the x86 maintainers.
Makefile +2 −1 Original line number Original line Diff line number Diff line Loading @@ -533,8 +533,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN}) endif endif # Force gcc to behave correct even for buggy distributions # Force gcc to behave correct even for buggy distributions # Arch Makefiles may override this setting ifndef CONFIG_CC_STACKPROTECTOR KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) endif ifdef CONFIG_FRAME_POINTER ifdef CONFIG_FRAME_POINTER KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls Loading