-
Notifications
You must be signed in to change notification settings - Fork 306
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
StevenMeng5898
wants to merge
2,035
commits into
xinyu391:master
Choose a base branch
from
StevenMeng5898:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Change-Id: I1f976e1602f5c9215a1bf915013132bcd9698c5b
Change-Id: I0149c24b3b9f0457ed4e2de4ced0faeb9c5a94c6
Step 1/5 NET-9 Change-Id: I7ff2f20b1a1c743f1a33ae5b6b22119656173b07
Step 3/5 NET-9 Change-Id: Icfc0d2ae2b1bc237f136cb9ccacea83bf39bfe1a
Step 5/5 NET-9 Change-Id: Ib2dc108feb26045f6f8e33996d666fc756648805
Change-Id: Ic5b672665e2695feade1f05871794a7c06e87e77
Change-Id: I05877cc081d03752335c8d078f59760b9efaa095
- only supports devices with a single namespace (so far every m.2 ssd I have seen and Qemu comply with this) - does not support SYNC operations yet - does not do proper cache and barrier ops for arm64 yet Change-Id: I06c6674695ea3222d69fa244d82591c463a0fec2
Change-Id: I49ecd0797938b3975701ccea566d90023d7d8928
Change-Id: I8c08878e3609114e4bfd1027803ad475b4a68b31
For block requests which are larger than the maximum transfer size, don't wait for each sub-chunk to complete sequentially. Instead, IotxnQueue all sub-chunks at once, and use a simple counter to track when they complete. Change-Id: Ia074e9f32d34fae870ba85a5e2902ac6c2858937
Change-Id: Ic914253f30047db4b7d274946b05dd585e92a80c
Change-Id: Idbc2721499a5b18acbb395d26b63bf13d08c79a0
get_dma_offset() was a hack added to support RPI3. Remove it now that it's no longer a target. Change-Id: Ib79bfd330a42a6e51ceea3cb9c7d828ecf691825
driver, and related struct definitions. This borrows heavily from the audio driver. Actual implementation will be in next CL. ZX-1129 #comment Change-Id: I18e84b4c91d7b67c5a5f7017f5fd86fb31216a7f
…EDULE Fortunately, true and INT_RESCHEDULE both have the numeric value 1, so this should make no difference. ZX-1490 Change-Id: Ib121626fa3f94973b1f77913d432eadc77497786
Example usage of async::Wait: class Foo { Foo() { wait_.set_handler(fbl::BindMember(this, &Foo::Handle)); } async_wait_result_t Handle(...) { ... }; async::Wait wait_; }; With async::WaitMethod, that becomes: class Foo { async_wait_result_t Handle(...) { ... }; async::WaitMethod<Foo, &Foo::Handle> wait_{this}; }; When async::Wait is used with fbl::BindMember() like that, a single callback from the event loop to Foo::Handle() will involve 3 indirect jumps plus 1 conditional jump (which generates a lot of wrapper code): * An indirect jump to async::Wait::CallHandler(). * An indirect jump to fbl::function's virtual operator(). * A conditional jump to check whether &Foo::Handle is a virtual or non-virtual method. (This is part of the semantics for C++ method pointers.) * An indirect jump to the Foo::Handle(). In contrast, async::WaitMethod<> will do only a single indirect jump, and no conditional jumps. (The conditional jump is avoided because the callback method &Foo::Handle is passed as a template parameter and it is known statically to be non-virtual.) Change-Id: Id581b39eb9939d97148529e5f3453243c72bafc0
The magma implementation of acquire_or_release_display makes a call to the ownership callback, which takes a lock. Change 866e4bc made sure that the framebuffer's parent device is never used after unbinding, and in doing so it moved a call to mtx_lock before calls to FB_ACQUIRE and FB_RELEASE, resulting in a double locking issue. Since the magma driver never unbinds, it isn't necessary to move the lock for that driver, and the framebuffer driver will go away before more GPU drivers are added. Change-Id: I1790ec476420640a7453fe6bcca0f22a9932eb40
Ran clang-format on the dpc files as well Change-Id: Id333fa05b63f1758dd505cb3fd7b6d397d3b247c
Change-Id: I2e83a566d78d8a57f9e1ac3bde892dc043ae78b4
…onsistency ZX-1490 Change-Id: I653b55552c901ad5ee43fb3ba3826b51a01038d1
This function is not used outside its file. Change-Id: I71350f2e3c347003bb0c94e7a921f7832a703f9b
Accepting all x86 image files and ignoring a subset based on system detection is a version worthy change. Change-Id: Ibec8bbab761e4c4c5647a8b9d9be905c70ff5f73
This should be used as a static library within Zircon and a source-only library outside of it. Do mark it for source packaging for import int Garnet and above Change-Id: If1c7b44aaaba4b1adf0dd5ba0960c7d3e3b0ded9
Change-Id: Ie0c48f6cd559dc6587e181f940d1a5b7675fb9d8
The plan here is that we will use a protocol more tightly aligned with the needs of the block IO layer (including constraints that make things much more consistent and less open ended than the more free-form iotxns did). The expectation is that the only client of this protocol will be the generic block mid-layer driver. The deployment plan is: 1. Agree on the new protocol 2. block mid-layer driver will support new protocol, if present 3. block drivers will support new protocol 4. once all block drivers support new protocol, we retire iotxn_queue() Change-Id: I2659fe985f1a815352db67faa3788fb3c239ea66
Change-Id: I8a83f8ec4db91cd9d5074004ce6fdf7c55b47f5d
Linux doesn't support X2APIC without IRQ remapping unless it recognises that it's running as a guest. For now we can pretend to be KVM to trigger hypervisor detection. ZX-1257 #done Change-Id: I66094b65f4299c5a6a51eab8ce24f419e05d23f7
Change-Id: I8e490d0a17af3e7e1d23527bc79421288b74f50b
- The zxrio_describe_t object replaces the zxrio_object_t with a FIDL2 compatible format. - Flip the usage of ZX_FS_FLAG_PIPELINE to be implied by default. "ZX_FS_FLAG_DESCRIBE" may be used to request a description object. - ZXRIO_DESCRIBE can be trivially implemented using the description object -- it currently isn't, because there would be no clients through RIO. ZX-1360 #comment In Progress Change-Id: I1c7cad185af468b26c770dfd092382814a436c04
format_build_id_log() was being passed the library's name including the terminating null character, but build_id_log_size() expects, and was being passed, the un-terminated name length. Change-Id: I952620f9959f700d5eb4719f958134a8a1e41553
This reverts commit df2e3a4. Reason for revert: Causes breakages with commands run via netcmd. Original change's description: > [dash] enable ctrl-c in interpreter > > Change-Id: I4f4b7ab18ab79e3b30db008d6b98f6850ad53b67 [email protected],[email protected],[email protected] Change-Id: I82f25fe8f25324bce4ff8cb30952bb1826066848 No-Presubmit: true No-Tree-Checks: true No-Try: true
Change-Id: Ida0559629605bf3f058b5df90b93372132c131af
Change-Id: Ie23dfe1cb023a601f7bdaf6bd2685792a3b34f81
This is no longer enabled by default for -Wall or -Wextra. Change-Id: Ic15150889ee98293ed1a91a9d5a3aaa8402037a1
Clang can now detect whether the terminal supports colors even without the terminfo database so this is no longer needed. Change-Id: I6d245323ae4804198db78b3ce427186a5435a6c5
All clients have moved to zx_clock_get. Change-Id: Id9559c2e672c6cb9c7090ba0c66a55b4eaed368d
This is in preparation for removing the "enum handler_return" type. When we replace that with "void", there will be nothing in the function signatures to mark out these functions that are only called in interrupt-handling context. To make up for that, add the assertion "DEBUG_ASSERT(arch_in_int_handler())" at the start of every function that currently returns a "handler_return". ZX-1490 Change-Id: I30deda7192eed9f5a5276ec6259cce78277e87ea
This is the equivalent of the ramdisk flake, but for real hardware ZX-1600 #done (again) Change-Id: Ib5ccb7950e366117deb27776465c9933cafcac85
More info, more error checks. Possibly a problem spotted. Change-Id: I9322e4855d4a4842f4bebe2aab31777647f5d821
…t-handling function" This reverts commit cae96ae. That change caused a kernel assertion failure via the following path: sys_mmap_device_io() -> IoBitmap::SetIoBitmap() -> mp_sync_exec() -> mp_mbx_generic_irq() ZX-1490 Change-Id: Ic2362d000be7b4e021c6942cc6d0f9550dd15649
As we would be sending them together to garnet logger service, it makes sense to print them together on stderr as garnet service will not know which tag is global and which is local. Change-Id: I4e514cff832acbbe84c8ed05bf243795bad39228
This works with the iochk exerciser, but does not pass the minfs test. However the pre-conversion version fails the minfs test the same way: if requests arrive fast enough there may not be enough ring entries for a request and the driver does not have a mechanism to wait until they become available. Change-Id: I0d92774efbdf1ae1caa1d7359b6a3084047e7494
Don't fail if all 32 requests are in flight or there are not enough free descriptor slots available. Instead wait and try again as in-flight requests complete. This could probably be done more cleverly, but for now I avoided getting tricky. Also, access alloc/free_blk_req() and the txn_list under a lock, to avoid the irq thread and queueing threads messing with each other. Change-Id: I1d7f6e6e772c665514cddccd867520f56a3002b4
This change makes it clear that all fidl message objects should be 8-byte aligned. For most types this did not matter, but for very short messages (for instance, with just an int32 or a handle) it could make a difference. Change-Id: I6fd093ef5205342f62c01719c37c492ad9c20463
These tweaks are useful form the upper layers. Change-Id: Id3ddace84f55ce4b054bcb6844b5144380b30508
Adds a check to see whether the hypervisor is supported before running Guest Physical Address Spaces tests on ARM64. On ARM64, we need to jump to EL2 during operation of the Guest Physical Address Space. If we run these tests without access to EL2, we'll fail. This can be seen when run under QEMU without virtualisation support. ZX-1614 #done Change-Id: I345af9c09361e64aee4cd58d07385d5228783d2d
Since the "Sync" operation may block for disk to complete a potentially expensive operation, it is ironically a perfect candidate for becoming an asynchronous operation. This patch updates the VFS interface for sync to use closures, allowing filesystems to defer responding to the requesting process. ZX-1308 #done Change-Id: Ibc00c4963be79ff80504a7dafcffce6d81ccc66f
ZX-1615 #done Change-Id: I86dc41a55bac141228ef3d5ac5fc7680c997ed93
paddr_to_kvaddr is undefined. Replace call to this function with paddr_to_physmap so PMM_ENABLE_FREE_FILL can be enabled. Change-Id: Ia457336f598bf460df2738f14eae6b59848f5a6f
We use this method to check whether an incoming message has enough bytes to have a FIDL header. Change-Id: Iac7a3124b25f0cea9f4af1301017d066d2108529
Run the in-kernel unit tests on the bots (on the CQ etc.), via runtests, by adding a userland test program that does the equivalent of "k ut all". The kernel-side code propagates enough error results through that this will detect test failures such as the failure of an EXPECT_EQ(), and of course it will detect kernel panics too. IN-19 #done Change-Id: I949603339df83b04201bde3ac5126c73c4f4822a
Change-Id: I34d3c92d8086c85c7048038facf5a81540265f59
…l address when booted from zedboot Any loaders that just pass us a raw pointer to the bootimage in x0 will go through one of the three paths at the top of platform_early_init to recover the size of the ramdisk. One of the paths wasn't properly accounting the ramdisk physical base and length, which was causing newer boot reservation code to bail and stop the kernel boot. Only really zedboot and the machina hypervisor pass things this way. Restructure the code a bit to make sure the physical run of the ramdisk is always computed. ZX-1612 #done Change-Id: Iafd693a901ed7b6dd8dd8e5bb501961eb4eff20d
Change-Id: I72750dcf64f863a139e0cd15f166817084d277c5
The test case or particular test name to execute can now be listed on the command line. Adds a --list flag that prints the test names instead of running them. Adds a --help flag that prints usage. Change-Id: Ia2356b47a9f30c727a043466f9220738749324a6
Change-Id: I2ba9350cfbc98e96de7fc0a7a253e9c560ba208b
Change-Id: Idc8f461db991efa9051445e0c2b94caa099b4811
This CL modifies Bytes::Increment to be incremented by a set amount rather than just by 1. This is to enable better random access for Ciphers with a tweaked codebook mode (next CL). Change-Id: I62aec4c805f12c64b2df5f27bc8eb8346c4b99ec
This means that the tests in this file will get run on the bots (on the CQ, etc.). ZX-1617 Change-Id: Ic25caeeff2d9754918accc97ea2fae6ce01a532c
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
update zircon