History log of /fuchsia/zircon/kernel/top/main.cpp
Revision Date Author Comments
# 048b4b3c 17-Aug-2018 Nick Maniscalco <maniscalco@google.com>

[kernel][heap] Don't use heap for thread stacks

Kernel stacks are now allocated by vm_allocate_kstack.

Thread creation no longer allows you to bring your own
stack. thread_create and thread_create_etc now always create a stack
of size DEFAULT_STACK_SIZE.

Remove THREAD_STACK_BOUNDS_CHECK feature as it has been subsumed by
guard pages provided by vm_allocate_kstack.

Test: verified no leaks using "k vmm kaspaces" and "k thread_tests"

ZX-2509 #done

Change-Id: I8dbde5c8a6852775b9796e0c7f963289291822b2


# a06521fe 16-Jul-2018 Mohan Srinivasan <srmohan@google.com>

[kernel][debuglog] Kernel param to print to serial

Add a kernel cmdline parameter (kernel.bypass-debuglog) which if set to
true, behaves exactly as enabling ENABLE_KERNEL_LL_DEBUG. setting the
former to true (or enabling the latter) forces prints to go straight to
the serial console (unbuffered, bypassing debuglog). The reason for
retaining the compile time switch is to control the behavior of prints
that might happen very early in boot, before cmdline is parsed. The
compile time switch overrides the kernel cmdline parameter, and
secondly, both of these settings have the side effect of disabling irq
driver uart tx. Later, we can investigate turning this into a switch
that we can enable/disable at run time (via devmgr perhaps), so we can
control buffering for kernel printfs after boot, if necessary.

Test: Added internal state in the uart drivers, examine that for various
scenarios (bypass-debuglog on and off), ENABLE_KERNEL_LL_DEBUG on, which
should override the kernel cmdline parameter. Also tested using the uart
bulk print tests.

ZX-2301.

Change-Id: I075836313a13ff33077180bd01ebdf40d11e46fc


# 3e16f410 20-Aug-2018 Mohan Srinivasan <srmohan@google.com>

Revert "[kernel][debuglog] Add a kernel cmdline parameter to force prints to serial console."

This reverts commit 5427fd8bea3a465778a91bf84d0515a83e40616f.

Reason for revert: Debug and fix a crash.

Original change's description:
> [kernel][debuglog] Add a kernel cmdline parameter to force prints to serial console.
>
> Add a kernel cmdline parameter (kernel.bypass-debuglog) which if set to
> true, behaves exactly as enabling ENABLE_KERNEL_LL_DEBUG. setting the
> former to true (or enabling the latter) forces prints to go straight to
> the serial console (unbuffered, bypassing debuglog). The reason for
> retaining the compile time switch is to control the behavior of prints
> that might happen very early in boot, before cmdline is parsed. The
> compile time switch overrides the kernel cmdline parameter, and
> secondly, both of these settings have the side effect of disabling irq
> driver uart tx. Later, we can investigate turning this into a switch
> that we can enable/disable at run time (via devmgr perhaps), so we can
> control buffering for kernel printfs after boot, if necessary.
>
> Test: Added internal state in the uart drivers, examine that for various
> scenarios (bypass-debuglog on and off), ENABLE_KERNEL_LL_DEBUG on, which
> should override the kernel cmdline parameter.
>
> ZX-2301.
>
> Change-Id: If14620511575d7dd6c3ed0347efbc412ec13a6d6

TBR=voydanoff@google.com,cpu@google.com,travisg@google.com,swetland@google.com,srmohan@google.com

Change-Id: Ie3883cba76347ab195ae3525696d35827ba08adf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true


# 5427fd8b 16-Jul-2018 Mohan Srinivasan <srmohan@google.com>

[kernel][debuglog] Add a kernel cmdline parameter to force prints to serial console.

Add a kernel cmdline parameter (kernel.bypass-debuglog) which if set to
true, behaves exactly as enabling ENABLE_KERNEL_LL_DEBUG. setting the
former to true (or enabling the latter) forces prints to go straight to
the serial console (unbuffered, bypassing debuglog). The reason for
retaining the compile time switch is to control the behavior of prints
that might happen very early in boot, before cmdline is parsed. The
compile time switch overrides the kernel cmdline parameter, and
secondly, both of these settings have the side effect of disabling irq
driver uart tx. Later, we can investigate turning this into a switch
that we can enable/disable at run time (via devmgr perhaps), so we can
control buffering for kernel printfs after boot, if necessary.

Test: Added internal state in the uart drivers, examine that for various
scenarios (bypass-debuglog on and off), ENABLE_KERNEL_LL_DEBUG on, which
should override the kernel cmdline parameter.

ZX-2301.

Change-Id: If14620511575d7dd6c3ed0347efbc412ec13a6d6


# bb9e3313 07-May-2018 Thomas Garnier <thgarnie@google.com>

[kernel][kaslr] Create static relocation

Add static relocation for x64 and arm64 using the kernel_relocated_base
global variable. Add the DISABLE_KASLR option. Remove any dependency to
KERNEL_BASE when __code_start should be used. Change symbolize script to
dump kaslr offset and correctly show static addresses. Adapt gdb script
to identify KASLR relocation at early boot or if attached later.

x64 specific:
- Simplify page table to use kernel_relocated_base
- Fix zedboot and multiboot dependencies on the static kernel base
- Ensure 16-bit boot path is relocated for secondary CPUs

SEC-31 #comment Add static relocation of the kernel module

Change-Id: I9acb0a53a82c2bbf9973921e4cfe60a1e03c7006


# 3d4e09e5 03-Jan-2018 Carlos Pizano <cpu@google.com>

[zircon] change refs to LK

-Update the welcome string to 'welcome to Zircon'
-Deleted stale LK file
-Clean up remaining LK file

Change-Id: Ic6c88771dde43a09dfbd870b87f06a44945a3739


# 32a055e5 14-Nov-2017 Travis Geiselbrecht <travisg@google.com>

[kernel][init] move the two vm init hooks back to lk_main() to be a bit easier to trace

Since they're always there and considered a milestone in the init
runlevels, should be consistent and call them directly.

Change-Id: I99879cbe6cba57ae547b0ab7c1cf39c948ea7775


# 07e82268 05-Oct-2017 Roland McGrath <mcgrathr@google.com>

[kernel] Remove kernel/app module

This is no longer used at all.
The kernel/app/tests code doesn't use the "app" infrastructure.
So move it to kernel/tests.

Change-Id: I6cd8ec1bf569fd95940e5ebf4dc5f640b265eb69


# b53468af 30-Aug-2017 Travis Geiselbrecht <travisg@google.com>

[kernel][sched] thread's cpu affinity is now a bitmask instead of a number

-Can specify the mask of which cpus a thread is allowed to run on
-thread_set_cpu_affinity() will now do what is needed to migrate a
thread between cores, even if the thread is currently running on another
cpu.

Change-Id: I5dfc9f8e1c23d63ed749c84bc3dfa4118470b8e6


# 3da80d8f 25-Sep-2017 George Kulakowski <kulakowski@google.com>

[kernel][init] Move a function declaration to a shared header

Change-Id: Ifdf3cdeedb4ef3e590314aa896edaf19d3112341


# dc2b4461 16-Sep-2017 Travis Geiselbrecht <travisg@google.com>

[kernel][top] move the entry point and init code to c++

Run it through the reformatter and delete some old code while at it

Change-Id: Id45ca421886c1af6ef64092fec538ed16d11c365