History log of /openbsd-current/usr.sbin/ldomctl/parse.y
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.25 06-Oct-2022 kn

accept iodevices as NACs as well

Assignable PCIe devices have a root complex path and a more descriptive
I/O slot path; example output from a T4-2:

# ldomctl list-io | head -n2
PATH NAME
/@400/@2/@0/@8 /SYS/MB/PCIE0

ldom.conf(5) `iodevice' currently accepts PATH values, which are cryptic and
completely hardware specific, whereas NAME values are obvious (partially
same across machines) and match physical slot labels ("0 PCIe2 x8") besides
information from ILOM:
/System/PCI_Devices/Add-on/Device_0 location = PCIE0 (PCIe Slot 0).

Make ldom.conf `iodevice' accept either value; internally nothing changes.

Rename struct iodev's path member to dev to clarify this further.

OK kettenis


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.24 15-Oct-2021 naddy

Don't declare variables as "unsigned char *" that are passed to
functions that take "char *" arguments. Where such chars are
assigned to int or passed to ctype functions, explicitly cast them
to unsigned char.

For OpenBSD's clang, -Wpointer-sign has been disabled by default,
but when the parse.y code was built elsewhere, the compiler would
complain.

With help from millert@
ok benno@ deraadt@


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.23 30-Jan-2021 kn

Move global domain declaration to parse.y

This is the only object that uses it; required for "-fno-common".
OK kettenis


Revision tags: OPENBSD_6_8_BASE
# 1.22 14-Sep-2020 kn

Typofix


# 1.21 29-Jun-2020 kn

Reject vdisk, vnet and iodevice parameters for primary domain

In analogy to guest domains requiring vcpu, memory and at least one
bootable device (vdisk, vnet or iodevice), the primary domain must not
be configured with vdisk, vnet or iodevice parameters; it does not make
sense to provide virtual disks or interfaces to it and PCIe devices not
assigned to guest domains automatically end up in the primary domain.

ldom.conf(5) also documents those explicitly for guest domains only.

OK tracey


# 1.20 23-May-2020 kn

Typofix


# 1.19 23-May-2020 kn

Fail on duplicate vcpu, memory or iodevice parameters

Domains get to define their cores and memory only once unlike vnet, vdisk
and variable parameters of which it makes sense to have more than one;
iodevices are unique my design and may only be assigned once.

OK kettenis


Revision tags: OPENBSD_6_7_BASE
# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.24 15-Oct-2021 naddy

Don't declare variables as "unsigned char *" that are passed to
functions that take "char *" arguments. Where such chars are
assigned to int or passed to ctype functions, explicitly cast them
to unsigned char.

For OpenBSD's clang, -Wpointer-sign has been disabled by default,
but when the parse.y code was built elsewhere, the compiler would
complain.

With help from millert@
ok benno@ deraadt@


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.23 30-Jan-2021 kn

Move global domain declaration to parse.y

This is the only object that uses it; required for "-fno-common".
OK kettenis


Revision tags: OPENBSD_6_8_BASE
# 1.22 14-Sep-2020 kn

Typofix


# 1.21 29-Jun-2020 kn

Reject vdisk, vnet and iodevice parameters for primary domain

In analogy to guest domains requiring vcpu, memory and at least one
bootable device (vdisk, vnet or iodevice), the primary domain must not
be configured with vdisk, vnet or iodevice parameters; it does not make
sense to provide virtual disks or interfaces to it and PCIe devices not
assigned to guest domains automatically end up in the primary domain.

ldom.conf(5) also documents those explicitly for guest domains only.

OK tracey


# 1.20 23-May-2020 kn

Typofix


# 1.19 23-May-2020 kn

Fail on duplicate vcpu, memory or iodevice parameters

Domains get to define their cores and memory only once unlike vnet, vdisk
and variable parameters of which it makes sense to have more than one;
iodevices are unique my design and may only be assigned once.

OK kettenis


Revision tags: OPENBSD_6_7_BASE
# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.23 30-Jan-2021 kn

Move global domain declaration to parse.y

This is the only object that uses it; required for "-fno-common".
OK kettenis


Revision tags: OPENBSD_6_8_BASE
# 1.22 14-Sep-2020 kn

Typofix


# 1.21 29-Jun-2020 kn

Reject vdisk, vnet and iodevice parameters for primary domain

In analogy to guest domains requiring vcpu, memory and at least one
bootable device (vdisk, vnet or iodevice), the primary domain must not
be configured with vdisk, vnet or iodevice parameters; it does not make
sense to provide virtual disks or interfaces to it and PCIe devices not
assigned to guest domains automatically end up in the primary domain.

ldom.conf(5) also documents those explicitly for guest domains only.

OK tracey


# 1.20 23-May-2020 kn

Typofix


# 1.19 23-May-2020 kn

Fail on duplicate vcpu, memory or iodevice parameters

Domains get to define their cores and memory only once unlike vnet, vdisk
and variable parameters of which it makes sense to have more than one;
iodevices are unique my design and may only be assigned once.

OK kettenis


Revision tags: OPENBSD_6_7_BASE
# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.22 14-Sep-2020 kn

Typofix


# 1.21 29-Jun-2020 kn

Reject vdisk, vnet and iodevice parameters for primary domain

In analogy to guest domains requiring vcpu, memory and at least one
bootable device (vdisk, vnet or iodevice), the primary domain must not
be configured with vdisk, vnet or iodevice parameters; it does not make
sense to provide virtual disks or interfaces to it and PCIe devices not
assigned to guest domains automatically end up in the primary domain.

ldom.conf(5) also documents those explicitly for guest domains only.

OK tracey


# 1.20 23-May-2020 kn

Typofix


# 1.19 23-May-2020 kn

Fail on duplicate vcpu, memory or iodevice parameters

Domains get to define their cores and memory only once unlike vnet, vdisk
and variable parameters of which it makes sense to have more than one;
iodevices are unique my design and may only be assigned once.

OK kettenis


Revision tags: OPENBSD_6_7_BASE
# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.21 29-Jun-2020 kn

Reject vdisk, vnet and iodevice parameters for primary domain

In analogy to guest domains requiring vcpu, memory and at least one
bootable device (vdisk, vnet or iodevice), the primary domain must not
be configured with vdisk, vnet or iodevice parameters; it does not make
sense to provide virtual disks or interfaces to it and PCIe devices not
assigned to guest domains automatically end up in the primary domain.

ldom.conf(5) also documents those explicitly for guest domains only.

OK tracey


# 1.20 23-May-2020 kn

Typofix


# 1.19 23-May-2020 kn

Fail on duplicate vcpu, memory or iodevice parameters

Domains get to define their cores and memory only once unlike vnet, vdisk
and variable parameters of which it makes sense to have more than one;
iodevices are unique my design and may only be assigned once.

OK kettenis


Revision tags: OPENBSD_6_7_BASE
# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.20 23-May-2020 kn

Typofix


# 1.19 23-May-2020 kn

Fail on duplicate vcpu, memory or iodevice parameters

Domains get to define their cores and memory only once unlike vnet, vdisk
and variable parameters of which it makes sense to have more than one;
iodevices are unique my design and may only be assigned once.

OK kettenis


Revision tags: OPENBSD_6_7_BASE
# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.18 21-Feb-2020 kn

Support devaliases for vnet

vnet devalias=netboot

Creates a device alias to be used in OBP:

{ok} boot netboot

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.17 21-Feb-2020 kn

Actually pass devalias from parser to config

Missed in previous commit; no breakage, the resulting MD would simply end
up without user defined device aliases.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.16 20-Feb-2020 kn

Support devaliases for vdisk

vdisk "/var/ldom/miniroot.fs" devalias=miniroot

Creates a device alias to be used in OBP:

{ok} devlias
miniroot /virutal-devices@100/...

This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.

OK kettenis


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.15 09-Jan-2020 kn

Fail on incomplete guest parameters

Each guest needs vcpu and memory, otherwise it is invalid.
Each guest also needs at least one of vdisk, vnet or iodevice,
otherwise it has nothing to boot from.

OK kettenis


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.14 09-Jan-2020 kn

Bail earlier on duplicate domains

If the given domain was already specified, do not bother allocating and
initialising it.

No function change.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.13 28-Nov-2019 kn

Use scan_scaled(3) for memory in ldom.conf

Replace the hand-written routing with a proper library allowing even more
formats.

Since ldomctl's local util.h conflicts with the now used global util.h from
libutil, rename it to ldom_util.h.

Manual wording from amd64's vm.conf(5).

OK kettenis


Revision tags: OPENBSD_6_6_BASE
# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.12 05-Aug-2019 kettenis

Allow an optional stride in the vcpu specification. This makes it possible
to allocate virtual CPUs but not assign them to domains. This way you
can give domains exclusive access to a core without assigning all threads
of that core to the domain.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.11 28-Jul-2019 kettenis

Add support for configuring static direct I/O.


Revision tags: OPENBSD_6_5_BASE
# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.10 13-Feb-2019 deraadt

(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.9 01-Nov-2018 sashan

- odd condition/test in PF lexer
(and other lexers too)

This commit rectifies earlier change:

in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).

OK deraadt@, OK millert@


Revision tags: OPENBSD_6_4_BASE
# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.8 16-Sep-2018 kettenis

Add support for setting NVRAM variables.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


# 1.7 09-Jul-2018 krw

No need to mention which memory allocation entry point failed (malloc,
calloc or strdup), we just need to log that we ran out of memory in a
particular function.

Recommended by florian@ and deraadt@

ok benno@ henning@ tb@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.6 20-Nov-2014 jsg

Don't allow embedded nul characters in strings.
Fixes a pfctl crash with an anchor name containing
an embedded nul found with the afl fuzzer.

pfctl parse.y patch from and ok deraadt@


# 1.5 14-Nov-2014 doug

Add gcc printf format attributes to yyerror() in parse.y files.
No yyerror() calls needed to be changed.

ok bluhm@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.4 25-Nov-2013 benno

use u_char for buffers in yylex, for ctype calls
found by millert@, ok deraadt@


Revision tags: OPENBSD_5_4_BASE
# 1.3 04-Mar-2013 otto

- check parser's return value and exit if parsing failed
- a duplicate domain name is a syntax error
tweaked diff from @jasper; ok kettenis@ jasper@


Revision tags: OPENBSD_5_3_BASE
# 1.2 24-Nov-2012 kettenis

Fix yacc warning.


# 1.1 24-Nov-2012 kettenis

Add code to create new system configuration. Work in progress, but there's
enough functionality to create a configuration for a t1k or t2k running
System Firmware 6.7.x.