With r205496 in place we should ensure that nargs and nreturns are always
set to sane values as they no longer default to 0, otherwise some OFW implementation might copy in or out arguments not based on what the actual function takes but what ever stack garbage nargs and nreturns supply. Reviewed by: nwhitehorn
This commit is contained in:
parent
b011449011
commit
bd7e69e4c5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=206116
@ -589,6 +589,7 @@ ofw_std_close(ofw_t ofw, ihandle_t instance)
|
||||
} args = {
|
||||
(cell_t)"close",
|
||||
1,
|
||||
0,
|
||||
};
|
||||
|
||||
args.instance = instance;
|
||||
@ -717,6 +718,7 @@ ofw_std_release(ofw_t ofw, void *virt, size_t size)
|
||||
} args = {
|
||||
(cell_t)"release",
|
||||
2,
|
||||
0,
|
||||
};
|
||||
|
||||
args.virt = (cell_t)virt;
|
||||
@ -738,6 +740,8 @@ ofw_std_enter(ofw_t ofw)
|
||||
cell_t nreturns;
|
||||
} args = {
|
||||
(cell_t)"enter",
|
||||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
openfirmware(&args);
|
||||
@ -754,6 +758,8 @@ ofw_std_exit(ofw_t ofw)
|
||||
cell_t nreturns;
|
||||
} args = {
|
||||
(cell_t)"exit",
|
||||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
openfirmware(&args);
|
||||
|
@ -737,6 +737,7 @@ ofw_real_close(ofw_t ofw, ihandle_t instance)
|
||||
} args = {
|
||||
(cell_t)"close",
|
||||
1,
|
||||
0,
|
||||
};
|
||||
|
||||
args.instance = instance;
|
||||
@ -876,6 +877,7 @@ ofw_real_release(ofw_t ofw, void *virt, size_t size)
|
||||
} args = {
|
||||
(cell_t)"release",
|
||||
2,
|
||||
0,
|
||||
};
|
||||
|
||||
args.virt = (cell_t)virt;
|
||||
@ -897,6 +899,8 @@ ofw_real_enter(ofw_t ofw)
|
||||
cell_t nreturns;
|
||||
} args = {
|
||||
(cell_t)"enter",
|
||||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
openfirmware(&args);
|
||||
@ -913,6 +917,8 @@ ofw_real_exit(ofw_t ofw)
|
||||
cell_t nreturns;
|
||||
} args = {
|
||||
(cell_t)"exit",
|
||||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
openfirmware(&args);
|
||||
|
Loading…
Reference in New Issue
Block a user