#
2485acfa |
|
06-Apr-2018 |
Jeff Brown <jeffbrown@google.com> |
[async] Tidy up the libasync API for tasks and receivers. Remove flags fields and reserved storage. Make the C++ wrappers friendlier. Move the ops invokers into libasync.a itself in preparation for adding versioning to the ops structure. Add *_or_report_error() function variants which make it easier to systematically handle errors while posting tasks or enqueuing packets. Removed the return value from task handlers to reduce confusion around the lifetime of the task structure and remove an unusual error handling scenario in case of a failure to schedule a task to be repeated. Pass the Task* to the handler for consistency with the C API. Added some missing static library dependencies. Reduce use of libfbl (except fbl/function.h). Remove uses of private inheritance. Change-Id: I7ccea5b68d6bccb2c7a236d112428c9b17fe8cdd
|
#
76df15cb |
|
04-Apr-2018 |
Jeff Brown <jeffbrown@google.com> |
[async] Move async-loop implementation to its own directory. People keep getting confused by the relationship between async-loop and the rest of the library. So let's fix it. This change includes compatibility includes for loop.h to be removed after upper layers are fixed to use the new paths. Change-Id: I95c57be533fbd91468275bb2470890a4f10101eb
|
#
4a19c750 |
|
13-Feb-2018 |
Adam Barth <abarth@chromium.org> |
[loader-service] Remove simple loader service The "simple" version was used only for tests. Now we test the real code. Removing the simple loader lets us simplify the real loader a bit. Change-Id: I760fd06f430d156614f66c880d865882e8f286c8
|
#
1b4508c6 |
|
12-Feb-2018 |
Adam Barth <abarth@chromium.org> |
[loader-service] Separate loader-service from launchpad There's no particular reason to link the code for implementing the shared library service into the library for launching executables. This CL also removes the unused local shared library loader codepath, which would secretly spin up a thread in your process to export your namespace to processes you created if your parent didn't provide you with a functional shared library loader service. Change-Id: I0f2a31197df49831a7630ff72cf8a6a561c3dbd0
|
#
6408b1ec |
|
06-Feb-2018 |
Adam Barth <abarth@google.com> |
[ldmsg] Convert the loader service to FIDL wire format Previously, the loader service used a hand-rolled protocol. Now the protocol is specified in //zircon/system/public/zircon/loader.fidl. Because this protocol is used by such low-level components (e.g., userboot and libc), we do not use generated code to implement the protocol. Instead, we use a stand-alone library, ldmsg, which manually encodes and decodes messages according to the wire format specified in loader.fidl. This CL also moves fidl/types.h into zircon/fidl.h because these type definitions are now fundamental to the operation of the system. Putting their definition in this location makes them easier to reference from userboot and libc. Change-Id: I9a7619b09b0ff543b8883ac53852ade9d5c033b6
|
#
39e49ee3 |
|
07-Feb-2018 |
Adam Barth <abarth@google.com> |
Revert "[ldmsg] Convert the loader service to FIDL wire format" This reverts commit 3ff2a3f316904d6acf709169fb12ee059231d5d9. Additional review comments need to be addressed. Original change's description: > [ldmsg] Convert the loader service to FIDL wire format > > Previously, the loader service used a hand-rolled protocol. Now the > protocol is specified in //zircon/system/public/zircon/loader.fidl. > > Because this protocol is used by such low-level components (e.g., > userboot and libc), we do not use generated code to implement the > protocol. Instead, we use a stand-alone library, ldmsg, which manually > encodes and decodes messages according to the wire format specified in > loader.fidl. > > This CL also moves fidl/types.h into zircon/fidl.h because these type > definitions are now fundamental to the operation of the system. Putting > their definition in this location makes them easier to reference from > userboot and libc. > > Change-Id: I806455813d3a397a2eff41badadf61c28812e328 TBR=kulakowski@google.com,swetland@google.com,abarth@google.com Change-Id: I7ac90b53cdc152dc8cd892eb394ec7f641161ee9 No-Presubmit: true No-Tree-Checks: true No-Try: true
|
#
3ff2a3f3 |
|
06-Feb-2018 |
Adam Barth <abarth@google.com> |
[ldmsg] Convert the loader service to FIDL wire format Previously, the loader service used a hand-rolled protocol. Now the protocol is specified in //zircon/system/public/zircon/loader.fidl. Because this protocol is used by such low-level components (e.g., userboot and libc), we do not use generated code to implement the protocol. Instead, we use a stand-alone library, ldmsg, which manually encodes and decodes messages according to the wire format specified in loader.fidl. This CL also moves fidl/types.h into zircon/fidl.h because these type definitions are now fundamental to the operation of the system. Putting their definition in this location makes them easier to reference from userboot and libc. Change-Id: I806455813d3a397a2eff41badadf61c28812e328
|
#
f3e2126c |
|
12-Sep-2017 |
Roland McGrath <mcgrathr@google.com> |
[zx] Magenta -> Zircon The Great Renaming is here! Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94
|
#
16656ae0 |
|
05-Apr-2017 |
Brian Swetland <swetland@google.com> |
[build] flatten the build Previously we treated kernel/, system/, and third_party/ as overlays on a shared namespace. This required the concept of "canonical" module names, and a lot of complexity to ensure that things didn't collide and the build worked. This change gets rid of that, no longer passes -I to make, so that include directives from our *.mk files do not magically wildcard across various paths, etc. The most user-visible change is that everywhere where a module name is specified (MODULE_DEPS, MODULE_LIBS, etc), full module names like kernel/lib/io or system/ulib/mxio must be used instead of previously-allowed "short" names like lib/io and ulib/mxio. The build output still has a similar shape, but the first segment of the module path (kernel/, system/, or third_party/) is no longer elided under $(BUILDDIR) Change-Id: I525aba1da1c86eb7a86007bddc669f7eeebfedd5
|
#
12242caa |
|
07-Mar-2017 |
Brian Swetland <swetland@google.com> |
[build][musl] refer to musl libc as ulib/c This makes the build rules and the intermediate output files easier to understand, without having to modify the path where musl libc lives. The biggest observeable difference is the build intermediate files: $ ls build-magenta-pc-x86-64/ulib/c config-module.h libc.abi.h libc.abi.stamp libc.so libc.so.id libc.so.strip libc.a libc.abi.o libc.a.opts libc.so.abi libc.so.opts third_party which previously were at build-magenta-pc-x86/ulib/musl and named libmusl.* and the replacing of ulib/musl with ulib/c in the library dependencies of all the rules.mk files (the vast bulk of this change) Change-Id: If9c5d522099d2c9ac5bdb666b8e67a2eb3d316ee
|
#
8fdfaf23 |
|
23-Aug-2016 |
Brian Swetland <swetland@google.com> |
[system] remove unneeded deps on libruntime Change-Id: Ia612d777b36dada7fda112aa41a6d7a49a212da0
|
#
66a201f1 |
|
16-Aug-2016 |
Brian Swetland <swetland@frotz.net> |
[system] align license and license banners with Fuchsia This adjusts the Magenta userspace code to match the prevailing license in Fuchsia (three-clause BSD), using the same banner and license text. Change-Id: I6b6d79435c5dbaa32027888874849e4f47aaa7be
|
#
486eb2d2 |
|
09-Aug-2016 |
Roland McGrath <mcgrathr@google.com> |
[ulib] [launchpad] Use mxr_mutex_t instead of C11 mtx_t The low-level libraries like launchpad can't assume that their callers will be using full-fledged C11 or POSIX threads. So don't use standard synchronization methods, but only the ulib/runtime layer instead. Change-Id: Id861e56f78667249ec24910c9fc04514273bfe0b
|
#
f82bdf3a |
|
05-Aug-2016 |
Roland McGrath <mcgrathr@google.com> |
[ulib] [musl] Add dlopen_vmo function This adds a Magenta-specific extension to -ldl, declared in the new header file <magenta/dlfcn.h>. The new function behaves like dlopen, but takes a VM object handle instead of a file name. Change-Id: Ia0748cf7b3e4c40ae0bf563f6d9f3182da04547b
|