Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update zircon #1

Open
wants to merge 2,035 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2035 commits
Select commit Hold shift + click to select a range
2e92932
[minfs] Privatize VnodeMinfs interface
Jan 7, 2018
d1eeecc
[fdio] Remove unnecessary void* cast of rio callback
Jan 9, 2018
7756aa7
[ddktl] Add EthmacSetParam
tkilbourn Jan 9, 2018
9fa397e
[ddktl] Set default for EthmacSetParam to true
tkilbourn Jan 9, 2018
73be6e8
[ddktl] Finish EthmacSetParam transition
tkilbourn Jan 9, 2018
9958b78
[devmgr][devfs] Send vfs remove events on device removal
dgstevens Jan 9, 2018
5f0fde3
[framebuffer] Handle unbind events
dgstevens Jan 9, 2018
b39e680
[block][nvme] minimal nvme driver
swetland Jan 2, 2018
834dc19
[intel-i915] Add allocator to gtt
dgstevens Jan 9, 2018
866e4bc
[framebuffer] Fix unbind locking
dgstevens Jan 10, 2018
7b5b520
[block] Enqueue sub-chunked requests in parallel
Jan 8, 2018
388b5ed
[kernel][dpc] Use separate dpc thread for each CPU
Dec 7, 2017
6bee686
[intel-i915] Add support for hotplugging
dgstevens Jan 9, 2018
9f511a1
[dev][sdhci] remove get_dma_offset
Jan 10, 2018
fdec4a4
[dev][usb-video] Adds ioctl for getting stream channel from usb video
jocelyndang Dec 13, 2017
a58d0d1
[kernel][amlogic_s905] Fix implicit conversion from true to INT_RESCH…
Jan 11, 2018
9ce8d11
[async] Add async::WaitMethod, a lower-overhead version of async::Wait
Jan 11, 2018
4acd518
[framebuffer] Fix double locking issue
dgstevens Jan 10, 2018
7b6cc1f
[kernel][dpc] Move dpc code from kernel/lib/ to kernel/kernel/
Jan 10, 2018
d76c50e
[ddk][docs] clarify some lifecycle details around remove/unbind
swetland Jan 11, 2018
89b0728
[kernel] Cleanup: Refer to "timer_t" rather than "struct timer" for c…
Jan 10, 2018
73cc120
[kernel][pmm] Cleanup: Remove an unnecessary use of 'extern "C"'
Jan 10, 2018
afcb6d7
[bootloader] bump version for new paver features
Jan 10, 2018
d50f933
[hwreg] do not export as a shared library
swetland Jan 11, 2018
2765197
[ulib][test-utils] Export tu_wait
xdje42 Jan 10, 2018
9313908
[ddk][block] new block protocol
swetland Jan 6, 2018
484555d
[utest][exception] simplify test child process invocation
xdje42 Jan 10, 2018
e6305d5
[hypervisor][x86] Add X2APIC support and pretend to be KVM.
Dec 10, 2017
0694bed
[ddk] Fix typo in comment
qwandor Dec 21, 2017
e00ff3e
[fdio] Use ZXRIO_ON_OPEN unsolicited requests for open
Nov 11, 2017
0a0eafb
[tftp] Add support for BUSY response to requests
josh-conner Jan 9, 2018
4c11e62
[bootserver] Allow target to delay transmission
josh-conner Jan 10, 2018
88cc62e
[host][blobstore] set a reasonable open file limit
Jan 4, 2018
654c47e
[fidl] Rename token_definitions.h to .inc
Dec 21, 2017
7206376
[ddk][wlan] Adds BSS config struct.
hahnr Jan 9, 2018
04b98ea
[fidl] Add a notion of SourceLocation, and use it in a bit of error r…
Dec 21, 2017
e9283fa
[zx] Add zx::time and zx::duration
abarth Jan 11, 2018
1374668
[syscalls][exceptions] Prepend zx_ to exception data types
xdje42 Dec 14, 2017
f72900f
[blobstore(host)] remove non-portable printf
Jan 11, 2018
9765ebe
[fidl][build] Fix the GN build of the fidl host tool
Jan 11, 2018
51ab6b2
[runtests] Don't build output path for every test.
mknyszek Jan 10, 2018
2dc3df0
[block] Larger-than-device requests should fail, not truncate
Jan 10, 2018
693c780
[fidl] Fix the gn build again
Jan 11, 2018
e6533db
[ddk][phys-iter] Fix an edge case where phys_iter_next() can return t…
Jan 11, 2018
acac33d
[dev][ethernet] Bit-twiddling for promiscuous mode
cphoenix-google Jan 9, 2018
5ff21e1
[uapp][threads] Fix use-after-free bug
xdje42 Jan 12, 2018
ebccb98
[netsvc] Add intermediate buffer to paver
josh-conner Jan 11, 2018
ad5d5c1
[arm64][hypervisor] Save/restore FPU state
abdulla Jan 11, 2018
8fae398
[arm64][hypervisor] Remove superfluous ISB
abdulla Jan 12, 2018
7036421
[ddk] Fix typo in comment.
qwandor Jan 12, 2018
54df7f4
[hikey][dsi] Intial commit of DSI support for Hikey960 board
mpayam Dec 29, 2017
bf0fcb1
[zircon][kernel] add exception counters
cpu-chromium Jan 10, 2018
038c9dc
[syscalls][ddk] Interrupt syscall improvements:
Dec 27, 2017
a7b2938
[devmgr][blockwatcher] remove some chatty debug prints
swetland Jan 12, 2018
2c7112f
[netsvc] detect paver thread exits and abort tftp
Jan 12, 2018
4c29fd6
[dev][usb-video] Parse payload header timestamp fields.
jocelyndang Jan 10, 2018
7f946a0
[docs][fidl] Create FIDL markdown documents.
Jan 5, 2018
9c2fcd8
[dev][ethernet] Track/refcount promisc requests
cphoenix-google Jan 10, 2018
306e0e1
[netsvc] Address some paving-related bugs
josh-conner Jan 13, 2018
d363cfd
[fidl] Add fidl::String
Jan 12, 2018
fa2a7fb
[block] support new block protocol (and revise it)
swetland Jan 10, 2018
ad47508
[nvme][block] migrate to new block protocol
swetland Jan 10, 2018
dc796b7
[gpt][block] support new block protocol
swetland Jan 11, 2018
fcec3f8
[mbr][block] support new block protocol
swetland Jan 11, 2018
28de967
[block][ramdisk] convert to new block protocol
swetland Jan 11, 2018
f230ab9
[fs] Allow filtering fs tests by individual filesystems
Jan 11, 2018
d95e17b
[arm64][hypervisor] Minor cleanup of el2.S
abdulla Jan 13, 2018
42ec3b0
[arm64][hypervisor] Don't inject timer for WFI
abdulla Jan 13, 2018
fcd524b
[dev][virtio] Move interrupt syscalls into backend
Jan 11, 2018
1882348
[hypervisor] Remove apic_vmo from vcpu_create_args
Jan 14, 2018
6f89405
[arm64][hypervisor] Reset virtual timer on exit
abdulla Jan 14, 2018
1396b6b
[kernel][hypervisor] Handle KVM features CPUID leaf
Jan 13, 2018
dfdab65
[devmgr][fshost] cmdline option zircon.system.disable-automount
swetland Jan 13, 2018
0cefa2d
[hypervisor][x86] Add VCPU packet type
Jan 1, 2018
7a7dfd6
[devhost] Get topo paths for parent of instances
tkilbourn Sep 16, 2017
7d84833
[vim2] Use PERIPH_VIRT and PERIPH_PHYS constants
abdulla Jan 15, 2018
ffae629
[ulib][hypervisor] Fix arm64 Garnet build breakage
abdulla Jan 15, 2018
b07fbd4
[arm64] Allow virt and phys timer to be specified
abdulla Jan 15, 2018
8204a7e
[scripts] Add ramdisk flag to fastboot-flash
abdulla Jan 15, 2018
a5024c2
[ddk] Inline a few more functions.
pylaligand Jan 13, 2018
bb60b67
[unittest] Add ASSERT_NO_DEATH
johngro Jan 13, 2018
c4ebc01
[dev][usb-xhci] Differentiate between empty and full trb transfer rings.
jocelyndang Jan 16, 2018
95b7b7b
[runtests] Add commas to JSON for results between directories.
mknyszek Jan 13, 2018
7a2ea6c
[dev][usb-video] Rest of camera interface.
jocelyndang Jan 11, 2018
5dba1cf
[kernel][dpc] Misc DPC fixes:
cpu-chromium Jun 7, 2017
a9b91e0
[ddk][wlan] Add ConfigureBss method 1/5
hahnr Jan 11, 2018
7a74e8f
[ulib][bitmap] Adds bitmap BUILD file
hahnr Jan 11, 2018
323bafc
[zircon] add prefix match to kcounters
cpu-chromium Jan 16, 2018
c4ed6b6
[kernel] Remove an unneeded #include that creates an #include cycle
Jan 16, 2018
2e57c54
[hikey] Update UEFI build URL.
tjdetwiler Jan 16, 2018
39975c5
Do not queue more transfers when endpoint is in paused state. We are …
Jan 16, 2018
f87614a
[zircon][scripts] Make run-zircon -b work even if CWD is not //zircon/.
Jan 16, 2018
08cc983
[ddk][wlan] Implements ConfigureBss method 2/5
hahnr Jan 12, 2018
77d7338
[fidl] Add a dummy C generation ability
Jan 17, 2018
684818a
[ulib][hypervisor] Make PhysMem members protected
abdulla Jan 17, 2018
db62b73
[dev][ethernet] Test promisc logic
cphoenix-google Jan 12, 2018
cbe0d2a
[wlan][ddk] Enables ConfigureBss by default 4/5
hahnr Jan 12, 2018
4ea4536
[intel-ethernet] Fix Tx capability on i217
josh-conner Jan 17, 2018
69564e2
[fidl] Add BUILD.gn for fidl library
Jan 17, 2018
3c4fc82
[runtests] Clean up run_tests function.
mknyszek Jan 11, 2018
e992893
[hypervisor] Add additional logging for unmapped IO.
tjdetwiler Jan 17, 2018
244e16f
[ulib][test-utils] Handle timeout overflow in tu_wait
xdje42 Jan 17, 2018
14cb8f5
[runtests] Tee output of test binaries.
mknyszek Jan 17, 2018
df9b0a8
[XHCI] Resolve potential deadlock when resetting an endpoint ZX-1560 …
Jan 11, 2018
405ff21
[x86][page_tables] Change handling of non-terminal invalidations
Dec 14, 2017
e7da706
[musl]: delete syscall() function prototype
nickkral Jan 17, 2018
6e76dab
[soc][aml-a113][i2c] I2C refactoring
Jan 17, 2018
4bbf03a
[x86][page_tables] Move utility classes under X86PageTableBase
Dec 19, 2017
fac31f0
[x86][page_tables] Make cache invalidation less error-prone
Dec 19, 2017
1e012ed
[qemu][arm] default to 4 expected cpus on qemu-arm64
nvll Jan 17, 2018
7c8abb8
[x86][page_tables] Flush caches before doing TLB invalidations
Dec 19, 2017
a17f89f
[kernel] Fix #include cycle between arch/ops.h and arch/$ARCH/mp.h
Jan 16, 2018
412e446
[kernel][libc] Select x86 memcpy/memset implementation at boot
Dec 28, 2017
1226495
[wlan][ddk] Removes ConfigureBss template 6/6
hahnr Jan 12, 2018
98b8689
[fbl] Add a "VmoMapper" utility class.
johngro Jan 10, 2018
08b0ec8
[kernel][exceptions] Fix panic from process freeing own eport
xdje42 Jan 10, 2018
d5fd2f3
[dev][acpi] Do basic GPE initialization
dgstevens Jan 17, 2018
c3394cd
[kernel][thread] Add preempt_disable state for use in interrupt handlers
Jan 17, 2018
5e6a147
[kernel] Rename "canreschedule" -> "reschedule" arguments for consist…
Jan 18, 2018
1d31f9a
[kernel][thread] Convert wait_queue_timeout_handler() to use preempt_…
Jan 18, 2018
77c2cef
[test][ethernet] Add BEGIN_TEST/END_TEST
cphoenix-google Jan 18, 2018
7b80efb
[kernel][thread] Reorder operations in thread_suspend()
Jan 18, 2018
bba4e0d
[x86][hypervisor] Add additional vmexit logging.
tjdetwiler Jan 18, 2018
7ac3863
[docs] Document the new Zircon submit rule
kendalharland Jan 12, 2018
54d819b
[fidl] Add fidl::Message data structure
abarth Jan 18, 2018
27f70ff
[fidl] Add MessageBuilder, which owns the message memory
abarth Jan 18, 2018
52dbdef
[fdio] Refactor zxrio_handler semantics, more flexible async writeback
Jan 9, 2018
d488040
[system][hid] model generation
cpu-chromium Dec 28, 2017
38f284a
[intel-i915] Read VBT to check for ddi type
dgstevens Jan 10, 2018
11b9e07
[test][ethernet] Use header for SetParam reporting
cphoenix-google Jan 19, 2018
5aa7497
[fvm] Fix erroneous VMO cloning offset during non-contiguous slice ac…
Jan 19, 2018
2ae4a20
[utest][exceptions] Test a corner case of zx_thread_{read,write}_state()
Jan 18, 2018
b83522f
[utest][debugger-test] Fix comment to refer to correct ZX_EXCP #defin…
Jan 18, 2018
d315d56
[kernel][x86] Remove unused #define, DEFAULT_TSS
Jan 16, 2018
5f065da
[kernel][thread] Add missing "inline" to thread_preempt_*() functions
Jan 19, 2018
39ce1b0
[kernel][x86] Factor out duplicated is_from_user() check
Jan 17, 2018
e0aa6aa
[pci] Rebuild kpci to use rpc and a proxy devhost
nvll Dec 13, 2017
d356f3c
[ulib][test-utils] Remove TU_WAIT_TIMEOUT_SECONDS
xdje42 Jan 19, 2018
a5c57b5
[kernel][thread] Move sched_reschedule() calls into wait_queue_unbloc…
Jan 19, 2018
f4ca967
[fidl] Factor MessageBuffer out of MessageBuilder
Jan 19, 2018
69b4f22
[dev][bluetooth] Introduce bt-host
armansito Jan 13, 2018
d454a8d
[zircon][system] update thread_start's entry
cpu-chromium Jan 20, 2018
1a1bb85
[kernel][thread] Convert IPI interrupt handler to use preempt_disable
Jan 19, 2018
938da16
[build] allow overriding of package sources and includes
swetland Jan 20, 2018
ee36314
[kernel][pci] Convert PciInterruptDispatcher to use preempt_disable
Jan 20, 2018
305fb53
[sdmmc] Fix race condition in iotxn_queue that could result in blocke…
Jan 20, 2018
f4febba
[kernel][mp] remove the missing IPI test
travisg Jan 20, 2018
777d4e6
[kernel][psci] Support for customizing PSCI arguments for shutdown an…
Jan 20, 2018
4cef102
[vim][vim2] Implement "dm reboot" and "dm reboot-bootloader"
Jan 20, 2018
fbcb693
[ddk] Add wlanphy and wlanif protocols
tkilbourn Jan 16, 2018
fc9d21d
[soc][aml-a113] GPIO driver refactoring
Jan 17, 2018
537615c
[ddk][gpio] Add gpio_set_alt_function() to the GPIO protocol
Jan 18, 2018
de7fbf4
[syslog] Initial implementation
ankurmittal Nov 4, 2017
ec9928e
[syscalls] Rename zx_time_get to zx_clock_get
Jan 22, 2018
aa6ca29
[netstack] Support accept for new socket transport
Jan 22, 2018
ecab9d8
[dev][platform-bus] Replace pbus_set_interface with pbus_set_protocol
Jan 18, 2018
6666e6e
[kernel][cbuf] Remove unused cbuf functions
Jan 22, 2018
100b3cc
[docs] Add syscall links to handles.md
nickkral Jan 22, 2018
e95da9e
[blktest] Block txns must use VMO offsets which are multiples of the …
Jan 22, 2018
9ec9d3a
[musl] drop vfork
nickkral Jan 22, 2018
6f38143
[scripts] Print stacktrace at end-of-file
abdulla Jan 22, 2018
dd4006e
[dev][platform-bus] Add support for MMIO ranges that are not page ali…
Jan 18, 2018
f8695bb
[ddk][bt-hci] Add missing include
armansito Jan 20, 2018
d832f09
[hypervisor] Swizzle args for functions
abdulla Jan 22, 2018
fdd85d5
[pci] Add pci_config_write to protocol, remove pci io syscalls
nvll Jan 17, 2018
e2800c9
[ktrace] Use RAII mutex in ktrace
Dec 5, 2017
de92696
[kernel][hypervisor] Convert timer callbacks to use preempt_disable
Jan 18, 2018
1aae38e
[hypervisor] Track when the guest is running
abdulla Jan 22, 2018
95969b4
[kernel][atomic] Introduce atomic_xor
Jan 23, 2018
0c33432
[pci][virtio] Remove call to zx_mmap_device_io
nvll Jan 17, 2018
5fe12cd
[blktest] Add arg flag help and use standrd arg parsing
nvll Jan 22, 2018
eb821b3
[pci] Remove DEBUG_ASSERT in Irq bookkeeping
nvll Jan 22, 2018
1afe9ad
[fvm] Improve noncontiguous access test
Jan 20, 2018
46d29fc
[netsvc] Add timeout check to paver copy thread
josh-conner Jan 23, 2018
1f4f0b2
[kernel][cbuf] Make use of preempt_disable with cbuf_write_char()
Jan 22, 2018
cb92fa4
[prebuilt] Roll Clang toolchain
petrhosek Jan 19, 2018
bd83d29
[arm64][hypervisor] Change how we handle timers
abdulla Jan 22, 2018
2b09d6c
[fvm] Convert FVM driver to use the new block protocol
Jan 12, 2018
eff612b
[block] Convert FIFO-based block protocol to use block units, not bytes
Jan 14, 2018
6762765
[block] Fix intermediate error support for block transactions
Jan 15, 2018
444d49d
[build] Add documentation for the generation of GN build files.
pylaligand Jan 18, 2018
9cde317
[kernel][hypervisor] Remove some always-true "reschedule" args
Jan 23, 2018
759e817
[kernel][pci] Remove PCIE_IRQRET_RESCHED, which is now unused
Jan 20, 2018
869eea5
[kernel][hypervisor][arm64] Remove use of INT_RESCHEDULE in timer cal…
Jan 23, 2018
bf46ab4
[fs][minfs] Unify naming scheme for block requests
Jan 23, 2018
cfa78bf
[runtests] Fix typo in failure message
Jan 23, 2018
4307d92
[netstack] Support ioctl for new socket transport
Jan 23, 2018
92fc980
[kernel] Convert remaining timer callbacks to make use of preempt_dis…
Jan 23, 2018
5907e30
[kernel][timer] Change timer callbacks to return void
Jan 23, 2018
c113dac
[bootloader] Ignore buffers we didn't allocate
josh-conner Jan 23, 2018
406cebc
[kernel][vm][boot] add new boot memory reservation system
travisg Jan 13, 2018
08314df
[kernel][platform] switch PC and ARM platform over to using the boot …
travisg Jan 13, 2018
0d8c36f
[kernel][pmm] allocate pmm page arrays out of the pmm arenas themselves
travisg Jan 13, 2018
2086cee
[uapp] Support fixup of argv[0] for namespace's child process
sgraham Jan 23, 2018
de06587
[fdio][fs] Remove usage of private headers in public libraries
Jan 23, 2018
401d556
[utest][ramdisk] tweak the out of range ramdisk read test to work wit…
travisg Jan 23, 2018
e728e74
[ulib][hypervisor][x86] Remove LocalApic
abdulla Jan 23, 2018
af1e659
[ethernet][usb-cdc-ecm] Reduce spew on resets
josh-conner Jan 23, 2018
533e172
[hid][touch] Add support for egalax touch screen
cyngus84 Dec 29, 2017
f83e151
[kernel][pc] Move to using C++-style spinlocks for interrupts code
Jan 23, 2018
eea934c
[syscall][pci] Check for bogus IRQs in zx_pci_init
Jan 24, 2018
29711c6
[fidl][docs] 'package' was renamed to 'library', so fix the docs
Jan 24, 2018
c182d15
[kernel][iommu] Rework Map API
Dec 15, 2017
92c2ca2
[kernel][interrupt] Remove the last remaining use of INT_RESCHEDULE
Jan 24, 2018
2f35dfd
[fidl][docs] Use a single arrow, not a double arrow, in a method decl
Jan 24, 2018
6afbb0e
[virtio][gpu] Replace cnd_t with sem_t.
tjdetwiler Jan 23, 2018
53d7578
[dev][usb-xhci] Move CLEAR_FEATURE(ENDPOINT_HALT) request to after
jocelyndang Jan 24, 2018
b1271f7
[kernel][arm64][qemu] remove old FDT reservation, dynamically reserve…
travisg Jan 23, 2018
c7508d1
[ramdisk] Remove a race-prone MAX_TXN_MESSAGES test
Jan 24, 2018
8e89971
[kernel][arm64] print the boot EL level
travisg Jan 24, 2018
aa3b773
[zx] Update callers to zx::time and zx::duration types
Jan 24, 2018
0e37147
[dev][usb-xhci] Call usb_hci_request_queue directly in
jocelyndang Jan 24, 2018
21345f4
[fidl][semicolons] Parse semicolons after declarations
Jan 24, 2018
df2e3a4
[dash] enable ctrl-c in interpreter
virtigexgoogle Jan 12, 2018
540668f
[dev][platform-bus] Simplify support for non page aligned VMOs
Jan 24, 2018
5fb6815
[virtcon] Add support for hotplugging
dgstevens Jan 9, 2018
58b6bef
[fidl] Print out lines containing errors
Jan 23, 2018
56831f0
[minfs] Remove decommitting code in Minfs writeback buffer
Jan 10, 2018
54a0f03
[intel-i915] Add igd handling to ddi buf programming
dgstevens Jan 10, 2018
b092aaa
[utest][exceptions] Test another corner case of zx_thread_{read,write…
Jan 24, 2018
743b24a
[musl] Fix buffer-size calculation in dynamic loader.
Jan 24, 2018
f028d62
[dash] enable ctrl-c in interpreter (Revert)
virtigexgoogle Jan 25, 2018
67cc990
[libc][docs] Start sketching some libc docs
Jan 23, 2018
3d3bdfd
[zx] Remove deprecated zx_time_t and zx_duration_t functions
Jan 24, 2018
a569fe2
[build] Remove -Wno-tautological-constant-compare
petrhosek Jan 19, 2018
8ed3fc6
[build] Remove -fcolor-diagnostics
petrhosek Jan 25, 2018
2399362
[syscalls] Remove zx_time_get
Jan 25, 2018
cae96ae
[kernel][interrupts] Add assertion to every interrupt-handling function
Jan 24, 2018
9dc705f
[blktest] Reduce test flake
Jan 25, 2018
e646a7b
[zircon] make call test better
cpu-chromium Jan 13, 2018
1e35420
[kernel] Revert "[kernel][interrupts] Add assertion to every interrup…
Jan 25, 2018
5f27a9a
[syslog] Print global and local tags together
ankurmittal Jan 24, 2018
3ffca69
[virtio][block] convert to new block protocol
swetland Jan 24, 2018
2a7db0d
[virtio][block] cope with temporary resource exhaustion
swetland Jan 25, 2018
dc565f6
[fidl] Fix alignment in canned fidl structs
Jan 25, 2018
293e343
[fidl] Improve cpp ergonomics
Jan 26, 2018
b880191
[utest] Check whether the hypervisor is supported
abdulla Jan 26, 2018
e054b6b
[fs] Convert Sync (flush) operation to be asynchronous
Jan 17, 2018
863d234
[docs] Update advice for testing block devices
Jan 25, 2018
60aa5ea
[vm] replace replace call to paddr_to_kvaddr with paddr_to_physmap
idl3r Jan 26, 2018
dda208d
[fidl] Add Message::has_header
abarth Jan 26, 2018
eabf7ce
[utest] Run kernel unit tests ("k ut all") from runtests
Jan 26, 2018
7db08fe
[fbl] Warn on not using the result of fbl::unique_ptr::release()
Jan 26, 2018
a1645db
[kernel][arm64] make sure we properly account for the ramdisk physica…
travisg Jan 26, 2018
8acf43e
[dev][ethernet] Add Intel I211-AT id
tkilbourn Jan 26, 2018
ad14597
[tests] Add filtering and listing tests to the harness.
Jan 26, 2018
5507776
[fvm] Add host & target side support for compressed sparse file
planders Dec 6, 2017
a328ea7
[kernel] Remove unused file, kernel/tests/float_print_host.cpp
Jan 26, 2018
b28eb89
[crypto] Improve Bytes::Increment
nopsledder Jan 19, 2018
47735d2
[kernel][tests] Convert sync_ipi_tests.cpp to use unittest.h framework
Jan 26, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ compile_commands.json
/prebuilt/config.mk
/prebuilt/config.mk.bak
/AnalysisResult/
/public/lib/
/public/sysroot/
10 changes: 5 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ language: c
script: ./scripts/travis-builds.sh
env:
# full zircon kernel + user space builds
- PROJECT=zircon-pc-x86-64
- PROJECT=zircon-qemu-arm64
- PROJECT=zircon-rpi3-arm64
- PROJECT=zircon-hikey960-arm64
- PROJECT=zircon-odroidc2-arm64
- PROJECT=x86
- PROJECT=arm64
- PROJECT=hikey960
- PROJECT=gauss
- PROJECT=odroidc2

sudo: required
dist: trusty
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,18 @@ This page is a non-comprehensive index of the zircon documentation.

+ [Getting Started](docs/getting_started.md)
+ [Contributing Patches](docs/contributing.md)
+ [Testing](docs/testing.md)
+ [Hacking notes](docs/hacking.md)
+ [Memory usage analysis tools](docs/memory.md)
+ [Relationship with LK](docs/zx_and_lk.md)

+ [Concepts Overview](docs/concepts.md)
+ [Kernel Objects](docs/objects.md)
+ [Process Objects](docs/objects/process.md)
+ [Thread Objects](docs/objects/thread.md)
+ [Handles](docs/handles.md)
+ [System Calls](docs/syscalls.md)

+ [Driver Development Kit](docs/ddk/overview.md)

+ [Testing](docs/testing.md)
+ [Hacking notes](docs/hacking.md)
+ [Memory usage analysis tools](docs/memory.md)
+ [Relationship with LK](docs/zx_and_lk.md)
+ [Micro-benchmarks](docs/benchmarks/microbenchmarks.md)
52 changes: 24 additions & 28 deletions bootloader/build.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,29 @@

LOCAL_DIR := $(GET_LOCAL_DIR)

EFI_LIBDIRS := system/ulib/tftp
EFI_LIBDIRS := system/ulib/tftp

ifeq ($(call TOBOOL,$(USE_CLANG)),true)
EFI_CC := $(CLANG_TOOLCHAIN_PREFIX)clang
EFI_LD := $(CLANG_TOOLCHAIN_PREFIX)lld-link
else
EFI_CC := $(TOOLCHAIN_PREFIX)gcc
EFI_LD := $(TOOLCHAIN_PREFIX)ld
endif
EFI_CFLAGS += -nostdinc -I$(LOCAL_DIR)/include -I$(LOCAL_DIR)/src
EFI_CFLAGS += -Isystem/public -Isystem/private
EFI_CFLAGS += $(foreach LIBDIR,$(EFI_LIBDIRS),-I$(LIBDIR)/include)

EFI_CFLAGS := -O2
EFI_CFLAGS += -fshort-wchar -fno-stack-protector -mno-red-zone
EFI_CFLAGS += -Wall -std=c99
EFI_CFLAGS += -ffreestanding -nostdinc -I$(LOCAL_DIR)/include -I$(LOCAL_DIR)/src
EFI_CFLAGS += -Isystem/public -Isystem/private
EFI_CFLAGS += $(foreach LIBDIR,$(EFI_LIBDIRS),-I$(LIBDIR)/include)
ifeq ($(call TOBOOL,$(USE_CLANG)),true)
EFI_CFLAGS += --target=x86_64-windows-msvc
EFI_LDFLAGS := /subsystem:efi_application /entry:efi_main /libpath:out
else
EFI_CFLAGS += -fPIE
EFI_LINKSCRIPT := $(LOCAL_DIR)/build/efi-x86-64.lds
EFI_LDFLAGS := -nostdlib -T $(EFI_LINKSCRIPT) -pie -Lout
endif

ifeq ($(call TOBOOL,$(USE_CLANG)),true)
EFI_LDFLAGS := /subsystem:efi_application /entry:efi_main /libpath:out
else
EFI_LINKSCRIPT := $(LOCAL_DIR)/build/efi-x86-64.lds
EFI_LDFLAGS := -nostdlib -T $(EFI_LINKSCRIPT) -pie -Lout
endif

EFI_SECTIONS := .text .data .reloc
EFI_SECTIONS := $(patsubst %,-j %,$(EFI_SECTIONS))
EFI_SECTIONS := .text .data .reloc
EFI_SECTIONS := $(patsubst %,-j %,$(EFI_SECTIONS))

ifeq ($(EFI_ARCH),x86_64)
EFI_SO := $(BUILDDIR)/bootloader/bootx64.so
EFI_BOOTLOADER := $(BUILDDIR)/bootloader/bootx64.efi
else ifeq ($(EFI_ARCH),aarch64)
EFI_SO := $(BUILDDIR)/bootloader/bootaa64.so
EFI_BOOTLOADER := $(BUILDDIR)/bootloader/bootaa64.efi
endif

# Bootloader sources
EFI_SOURCES := \
Expand Down Expand Up @@ -74,8 +63,8 @@ EFI_LIBS := $(foreach LIBDIR,$(EFI_LIBDIRS), \

$(BUILDDIR)/bootloader/%.o : $(LOCAL_DIR)/%.c
@$(MKDIR)
$(call BUILDECHO,compiling $@)
$(NOECHO)$(EFI_CC) -MMD -MP -o $@ -c $(EFI_CFLAGS) $<
$(call BUILDECHO,compiling $<)
$(NOECHO)$(EFI_CC) -MMD -MP -o $@ -c $(EFI_OPTFLAGS) $(EFI_COMPILEFLAGS) $(EFI_CFLAGS) $<

ifeq ($(call TOBOOL,$(USE_CLANG)),true)

Expand Down Expand Up @@ -107,9 +96,16 @@ $(EFI_BOOTLOADER): $(EFI_SO)
endif

GENERATED += $(EFI_BOOTLOADER)
EXTRA_BUILDDEPS += $(EFI_BOOTLOADER)

.PHONY: gigaboot
gigaboot: $(EFI_BOOTLOADER)

ifeq ($(call TOBOOL,$(ENABLE_ULIB_ONLY)),false)
# x86 only by default for now
ifeq ($(ARCH),x86)
bootloader: gigaboot
all:: bootloader
endif
endif

-include $(EFI_DEPS)
3 changes: 3 additions & 0 deletions bootloader/include/printf.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ typedef int (*_printf_engine_output_func)(const char *str, size_t len, void *sta

int _printf_engine(_printf_engine_output_func out, void *state, const char *fmt, va_list ap);

// Print a wide string to console
int puts16(char16_t *str);

__END_CDECLS

#endif
4 changes: 4 additions & 0 deletions bootloader/lib/console-printf.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,7 @@ int _printf(const char* fmt, ...) {
}
return r;
}

int puts16(char16_t* str) {
return gConOut->OutputString(gConOut, str) == EFI_SUCCESS ? 0 : EFI_END_OF_FILE;
}
4 changes: 4 additions & 0 deletions bootloader/lib/efi/guids.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <efi/protocol/block-io.h>
#include <efi/protocol/device-path.h>
#include <efi/protocol/device-path-to-text.h>
#include <efi/protocol/disk-io.h>
#include <efi/protocol/driver-binding.h>
#include <efi/protocol/file.h>
#include <efi/protocol/graphics-output.h>
Expand All @@ -16,8 +18,10 @@
#include <efi/protocol/simple-text-output.h>
#include <efi/protocol/usb-io.h>

efi_guid BlockIoProtocol = EFI_BLOCK_IO_PROTOCOL_GUID;
efi_guid DevicePathProtocol = EFI_DEVICE_PATH_PROTOCOL_GUID;
efi_guid DevicePathToTextProtocol = EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID;
efi_guid DiskIoProtocol = EFI_DISK_IO_PROTOCOL_GUID;
efi_guid DriverBindingProtocol = EFI_DRIVER_BINDING_PROTOCOL_GUID;
efi_guid FileInfoGuid = EFI_FILE_INFO_GUID;
efi_guid FileSystemInfoGuid = EFI_FILE_SYSTEM_INFO_GUID;
Expand Down
6 changes: 3 additions & 3 deletions bootloader/lib/loadfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ efi_file_protocol* xefi_open_file(char16_t* filename) {
}

#if 0
printf("Img DeviceHandle='%s'\n", HandleToString(loaded->DeviceHandle));
printf("Img FilePath='%s'\n", DevicePathToStr(loaded->FilePath));
printf("Img Base=%lx Size=%lx\n", loaded->ImageBase, loaded->ImageSize);
printf("Img DeviceHandle='%s'\n", HandleToString(loaded->DeviceHandle));
printf("Img FilePath='%s'\n", DevicePathToStr(loaded->FilePath));
printf("Img Base=%lx Size=%lx\n", loaded->ImageBase, loaded->ImageSize);
#endif

efi_simple_file_system_protocol* sfs;
Expand Down
2 changes: 1 addition & 1 deletion bootloader/scripts/bootzircon
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

make && mcopy -o -i out/disk.img@@1024K ../build-zircon-pc-x86-64/zircon.bin ::zircon.bin && make qemu
make && mcopy -o -i out/disk.img@@1024K ../build-x86/zircon.bin ::zircon.bin && make qemu
4 changes: 2 additions & 2 deletions bootloader/src/eff_short_wordlist_1.h
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ const char dictionary[1296][6] = {
"fence",
"fend",
"ferry",
"fetal",
"feta",
"fetch",
"fever",
"fiber",
Expand Down Expand Up @@ -1144,7 +1144,7 @@ const char dictionary[1296][6] = {
"thigh",
"thing",
"think",
"thong",
"third",
"thorn",
"those",
"throb",
Expand Down
2 changes: 1 addition & 1 deletion bootloader/src/framebuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ void draw_text(const char* text, size_t length, fb_font* font, int x, int y) {
size_t offset = 0;
size_t scale = 1;
for (size_t i = 0; i < length; ++i) {
char c = text[i];
unsigned char c = text[i];
if (c > 127)
continue;
putchar(gop, font, c, x + offset, y, scale, scale, fg_color, &font_black);
Expand Down
26 changes: 24 additions & 2 deletions bootloader/src/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,19 @@

static efi_guid AcpiTableGUID = ACPI_TABLE_GUID;
static efi_guid Acpi2TableGUID = ACPI_20_TABLE_GUID;
static efi_guid SmbiosTableGUID = SMBIOS_TABLE_GUID;
static efi_guid Smbios3TableGUID = SMBIOS3_TABLE_GUID;
static uint8_t ACPI_RSD_PTR[8] = "RSD PTR ";
static uint8_t SmbiosAnchor[4] = "_SM_";
static uint8_t Smbios3Anchor[5] = "_SM3_";

uint64_t find_acpi_root(efi_handle img, efi_system_table* sys) {
efi_configuration_table* cfgtab = sys->ConfigurationTable;
int i;

for (i = 0; i < sys->NumberOfTableEntries; i++) {
if (!xefi_cmp_guid(&cfgtab[i].VendorGuid, &AcpiTableGUID) &&
!xefi_cmp_guid(&cfgtab[i].VendorGuid, &Acpi2TableGUID)) {
if (xefi_cmp_guid(&cfgtab[i].VendorGuid, &AcpiTableGUID) &&
xefi_cmp_guid(&cfgtab[i].VendorGuid, &Acpi2TableGUID)) {
// not an ACPI table
continue;
}
Expand All @@ -33,6 +37,24 @@ uint64_t find_acpi_root(efi_handle img, efi_system_table* sys) {
return 0;
}

uint64_t find_smbios(efi_handle img, efi_system_table* sys) {
efi_configuration_table* cfgtab = sys->ConfigurationTable;
int i;

for (i = 0; i < sys->NumberOfTableEntries; i++) {
if (!xefi_cmp_guid(&cfgtab[i].VendorGuid, &SmbiosTableGUID)) {
if (!memcmp(cfgtab[i].VendorTable, SmbiosAnchor, sizeof(SmbiosAnchor))) {
return (uint64_t)cfgtab[i].VendorTable;
}
} else if (!xefi_cmp_guid(&cfgtab[i].VendorGuid, &Smbios3TableGUID)) {
if (!memcmp(cfgtab[i].VendorTable, Smbios3Anchor, sizeof(Smbios3Anchor))) {
return (uint64_t)cfgtab[i].VendorTable;
}
}
}
return 0;
}

static void get_bit_range(uint32_t mask, int* high, int* low) {
*high = -1;
*low = -1;
Expand Down
4 changes: 2 additions & 2 deletions bootloader/src/netboot.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,11 +229,11 @@ static void buffer_close(void* cookie) {
printf("Done\n");
}

static int udp_send(void* data, size_t len, void* cookie) {
static tftp_status udp_send(void* data, size_t len, void* cookie) {
transport_info_t* transport_info = cookie;
int bytes_sent = udp6_send(data, len, &transport_info->dest_addr, transport_info->dest_port,
NB_TFTP_OUTGOING_PORT);
return bytes_sent < 0 ? TFTP_ERR_IO : bytes_sent;
return bytes_sent < 0 ? TFTP_ERR_IO : TFTP_NO_ERROR;
}

static int udp_timeout_set(uint32_t timeout_ms, void* cookie) {
Expand Down
25 changes: 20 additions & 5 deletions bootloader/src/netifc.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@

#include <xefi.h>

#include <inet6.h>
#include <netifc.h>
#include "inet6.h"
#include "netifc.h"
#include "osboot.h"

static efi_simple_network_protocol* snp;

Expand Down Expand Up @@ -79,14 +80,22 @@ void* eth_get_buffer(size_t sz) {
}

void eth_put_buffer(void* data) {
eth_buffer* buf = (void*)(((uint64_t)data) & (~2047));
efi_physical_addr buf_paddr = (efi_physical_addr)data;
if ((buf_paddr < eth_buffers_base)
|| (buf_paddr >= (eth_buffers_base + (NUM_BUFFER_PAGES * PAGE_SIZE)))) {
printf("fatal: attempt to use buffer outside of allocated range\n");
for (;;)
;
}

eth_buffer* buf = (void*)(buf_paddr & (~2047));
if (buf->magic != ETH_BUFFER_MAGIC) {
printf("fatal: eth buffer %p (from %p) bad magic %" PRIx64 "\n",
buf, data, buf->magic);
for (;;)
;
}

buf->next = eth_buffers;
eth_buffers_avail++;
eth_buffers = buf;
Expand Down Expand Up @@ -197,7 +206,8 @@ efi_simple_network_protocol* netifc_find_available(void) {
}
}

printf("%ls: ", paths[i]);
puts16(paths[i]);
printf(": ");
ret = bs->HandleProtocol(handles[i], &SimpleNetworkProtocol, (void**)&cur_snp);
if (ret) {
printf("Failed to open (%s)\n", xefi_strerror(ret));
Expand Down Expand Up @@ -346,7 +356,12 @@ void netifc_poll(void) {
return;
}
if (txdone) {
eth_put_buffer(txdone);
// Check to make sure this is one of our buffers (see ZX-1516)
efi_physical_addr buf_paddr = (efi_physical_addr)txdone;
if ((buf_paddr >= eth_buffers_base)
&& (buf_paddr < (eth_buffers_base + (NUM_BUFFER_PAGES * PAGE_SIZE)))) {
eth_put_buffer(txdone);
}
}
}

Expand Down
Loading