{"push_id":884600150,"size":12,"distinct_size":5,"ref":"refs/heads/ctx","head":"9d72e7273571981ce1885c706ed49984cb9f3978","before":"f3021aa1e3c570f143bd32c4fa50b746f0f73dd0","commits":[{"sha":"2fa42319139e4cc5ca853546363f84443d0ead00","author":{"email":"d694442fc1cc3abfa1258245de9be14c2a2962da@gmail.com","name":"Dan Cross"},"message":"Rename 'reallocarray' to 'kreallocarray'.\n\n...as it should have been named originally.\nMy oversight: apologies for that.\n\nSigned-off-by: Dan Cross <crossd@gmail.com>\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/2fa42319139e4cc5ca853546363f84443d0ead00"},{"sha":"0878a40090ea4208a8bb6528dfe934f80f08e72a","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Add kmalloc_array() interface\n\nOne thing to be careful of is that these functions can fail and return 0,\nregardless of your kmalloc flags.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/0878a40090ea4208a8bb6528dfe934f80f08e72a"},{"sha":"cc0e5fcb2c7dfedea6fb3117ffbebdb47b73d982","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Memset the BSS explicitly\n\nPreviously, we were assuming that everything from the end of .data to the\nend of the kernel image was .bss.  That is definitely not the case, which\nbecomes apparent if you try to add an attribute for another section and\nthen you wonder why said section is zeroed at runtime (but not in the\nobject!).\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/cc0e5fcb2c7dfedea6fb3117ffbebdb47b73d982"},{"sha":"f76a43e8050e5ffaa1eb9ba553f35b20086093b9","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Remove the edata symbol\n\nIt is mostly useless and probably confusing.  I'm not even sure if the\nlinker had to put it directly after .data, or if it could put it wherever\nit wanted before the .bss, since it was not inside the .data section.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/f76a43e8050e5ffaa1eb9ba553f35b20086093b9"},{"sha":"72906d8649fa465f2c6e00dd9ab3fa2f057e4b85","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Add the #vars device to export kernel variables\n\nWith #vars, you can specify certain variables, such as num_cores, to be\nexposed to userspace.  If you want, you can:\n\n$ bind -a \\#vars /dev\n$ cat /dev/num_cores!dw\n\nFor debugging, you can add entries with the DEVVARS_ENTRY(name, format)\nmacro.  'format' is two chars, the data_format and the data_size, using\nQemu's notation.\n\nPrivileged users (i.e. anyone) can add new entries to #vars, which\ninternally will do a lookup in the symbol table and trust the format\nstring.  This is a little dangerous.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/72906d8649fa465f2c6e00dd9ab3fa2f057e4b85"},{"sha":"47fbfd421b52d0a75a9061c9092eaca441d1358a","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Add an assert for UTEST that takes a format string\n\nUT_ASSERT_M() just prints the message verbatim.  Its va_args are cleanup\nroutines.  UT_ASSERT_FMT() takes a format string, and its va_args is the\nvalues for the format string.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/47fbfd421b52d0a75a9061c9092eaca441d1358a"},{"sha":"535ec6030b9a9caec61091de4c2933663b8a5f82","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Add a test for devvars\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":false,"url":"https://api.github.com/repos/brho/akaros/commits/535ec6030b9a9caec61091de4c2933663b8a5f82"},{"sha":"9f1c8654868c627fddeb0df3e710446c3cb122ca","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"x86: Add swap_gs helper\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/9f1c8654868c627fddeb0df3e710446c3cb122ca"},{"sha":"989f64fd0b52c83473140449ba996d452ba92579","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Make __proc_save_context_s assume the current_ctx\n\nAll callers of this function pass in the current_ctx.  There's no\nreasonable use case where we're trying to save any other context for an\nSCP.  If there is a need for that in the future, the function\nimplementing that will need to deal with finalizing partial user\ncontexts.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/989f64fd0b52c83473140449ba996d452ba92579"},{"sha":"31f26070241a7df760754e0964caf0444f2b6f1b","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Use a helper to copy out the current context\n\nThe helper allows us to run some code before we copy out the current\ncontext.  I'll use this shortly as the location to 'finalize' the\ncontext (fully copy it out of hardware).  In the future, we might want\nother things in here.\n\nI considered making this take the cur_ctx * to avoid another core_id()\ncall, but most callers were already passing current_ctx.  Also, if we\ndidn't use current_ctx (and took a pointer) we could inline the call in\ntrap.h.  But it's not really worth the hassle yet.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/31f26070241a7df760754e0964caf0444f2b6f1b"},{"sha":"9c5e72eca1eda30e1947e666220dc86f9a731aa3","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"Support partial contexts\n\nPartial contexts are those where the full context is split between the\nparts in the struct and the parts still loaded in hardware.\n\nWhen entering the kernel, the kernel only needs to save enough of the\ncontext so that it can perform its work.  The hardware may have other\nbits of context that remain, and we'll copy out that state once we think\nwe are not going to return to the (previously) current context.\n\nThe rule is that if we ever either:\n\t1) run the context somewhere else, or\n\t2) run another context here\n\nthen we need to finalize the context, by ripping it off the core\ncompletely.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/9c5e72eca1eda30e1947e666220dc86f9a731aa3"},{"sha":"9d72e7273571981ce1885c706ed49984cb9f3978","author":{"email":"66a4aaafefe344f5385586b74770760469cbac80@cs.berkeley.edu","name":"Barret Rhoden"},"message":"WIP","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/9d72e7273571981ce1885c706ed49984cb9f3978"}]}