forked from M-Labs/artiq
1
0
Fork 0

Merge branch 'master' into phaser2

* master:
  dashboard: mention disable in CCB policies
  runtime: clear async RPC queue when kernel stops (fixes #631).
  artiq_devtool: fix incorrect use of nargs in argparse.
This commit is contained in:
Robert Jördens 2016-12-02 14:12:04 +01:00
commit 3d4723353e
4 changed files with 12 additions and 10 deletions

View File

@ -34,7 +34,7 @@ class AppletsCCBDock(applets.AppletsDock):
self.ccbp_group_create.triggered.connect(lambda: self.set_ccbp("create")) self.ccbp_group_create.triggered.connect(lambda: self.set_ccbp("create"))
ccbp_group_menu.addAction(self.ccbp_group_create) ccbp_group_menu.addAction(self.ccbp_group_create)
actiongroup.addAction(self.ccbp_group_create) actiongroup.addAction(self.ccbp_group_create)
self.ccbp_group_enable = QtWidgets.QAction("Create and enable applets", self.ccbp_group_enable = QtWidgets.QAction("Create and enable/disable applets",
self.table) self.table)
self.ccbp_group_enable.setCheckable(True) self.ccbp_group_enable.setCheckable(True)
self.ccbp_group_enable.triggered.connect(lambda: self.set_ccbp("enable")) self.ccbp_group_enable.triggered.connect(lambda: self.set_ccbp("enable"))
@ -57,7 +57,7 @@ class AppletsCCBDock(applets.AppletsDock):
self.ccbp_global_create.setChecked(True) self.ccbp_global_create.setChecked(True)
ccbp_global_menu.addAction(self.ccbp_global_create) ccbp_global_menu.addAction(self.ccbp_global_create)
actiongroup.addAction(self.ccbp_global_create) actiongroup.addAction(self.ccbp_global_create)
self.ccbp_global_enable = QtWidgets.QAction("Create and enable applets", self.ccbp_global_enable = QtWidgets.QAction("Create and enable/disable applets",
self.table) self.table)
self.ccbp_global_enable.setCheckable(True) self.ccbp_global_enable.setCheckable(True)
ccbp_global_menu.addAction(self.ccbp_global_enable) ccbp_global_menu.addAction(self.ccbp_global_enable)

View File

@ -22,13 +22,13 @@ def get_argparser():
verbosity_args(parser) verbosity_args(parser)
parser.add_argument("--host", nargs=1, metavar="HOST", parser.add_argument("--host", metavar="HOST",
type=str, default="lab.m-labs.hk", type=str, default="lab.m-labs.hk",
help="SSH host where the development board is located") help="SSH host where the development board is located")
parser.add_argument("--serial", nargs=1, metavar="SERIAL", parser.add_argument("--serial", metavar="SERIAL",
type=str, default="/dev/ttyUSB0", type=str, default="/dev/ttyUSB0",
help="TTY device corresponding to the development board") help="TTY device corresponding to the development board")
parser.add_argument("--ip", nargs=1, metavar="IP", parser.add_argument("--ip", metavar="IP",
type=str, default="kc705.lab.m-labs.hk", type=str, default="kc705.lab.m-labs.hk",
help="IP address corresponding to the development board") help="IP address corresponding to the development board")

View File

@ -21,9 +21,11 @@ pub unsafe fn start() {
rpc_queue::init(); rpc_queue::init();
} }
pub fn stop() { pub unsafe fn stop() {
unsafe { csr::kernel_cpu::reset_write(1) } csr::kernel_cpu::reset_write(1);
mailbox::acknowledge(); mailbox::acknowledge();
rpc_queue::init();
} }
pub fn validate(ptr: usize) -> bool { pub fn validate(ptr: usize) -> bool {

View File

@ -92,7 +92,7 @@ impl<'a> Session<'a> {
impl<'a> Drop for Session<'a> { impl<'a> Drop for Session<'a> {
fn drop(&mut self) { fn drop(&mut self) {
kernel::stop() unsafe { kernel::stop() }
} }
} }
@ -416,7 +416,7 @@ fn process_kern_message(waiter: Waiter,
} }
&kern::RunFinished => { &kern::RunFinished => {
kernel::stop(); unsafe { kernel::stop() }
session.kernel_state = KernelState::Absent; session.kernel_state = KernelState::Absent;
unsafe { session.congress.cache.unborrow() } unsafe { session.congress.cache.unborrow() }
@ -428,7 +428,7 @@ fn process_kern_message(waiter: Waiter,
} }
&kern::RunException { exception: ref exn, backtrace } => { &kern::RunException { exception: ref exn, backtrace } => {
kernel::stop(); unsafe { kernel::stop() }
session.kernel_state = KernelState::Absent; session.kernel_state = KernelState::Absent;
unsafe { session.congress.cache.unborrow() } unsafe { session.congress.cache.unborrow() }