Re: [PATCH 06/10] fbd : Port to RTEMS

2019-07-27 Thread Christian Mauderer
On 27/07/2019 15:15, Christian Mauderer wrote:
> On 26/07/2019 13:22, Vijay Kumar Banerjee wrote:
>> ---
>>  freebsd/sys/dev/fb/fbd.c  |  3 ++
>>  libbsd.py |  4 +++
>>  rtemsbsd/include/bsp/nexus-devices.h  |  3 ++
>>  .../machine/rtems-bsd-kernel-namespace.h  | 35 +++
>>  rtemsbsd/include/rtems/bsd/local/opt_fb.h |  0
>>  5 files changed, 45 insertions(+)
>>  create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_fb.h
>>
>> diff --git a/freebsd/sys/dev/fb/fbd.c b/freebsd/sys/dev/fb/fbd.c
>> index 60ce4bc3..33cdc348 100644
>> --- a/freebsd/sys/dev/fb/fbd.c
>> +++ b/freebsd/sys/dev/fb/fbd.c
>> @@ -59,6 +59,9 @@ __FBSDID("$FreeBSD$");
>>  #include 
>>  
>>  #include 
>> +#ifdef __rtems__
>> +#define vtophys(a) (a)
>> +#endif /* __rtems__ */
> 
> That seems to be already defined in rtemsbsd/include/machine/vm.h which
> should be included via . Why is it necessary?

Just have noted it: You added that to machine/vm.h in your later patch.
So it should be removable here (if you merge the patches) or you should
move the definition in machine/vm.h to this patch (if you don't merge them).

> 
>>  
>>  LIST_HEAD(fb_list_head_t, fb_list_entry) fb_list_head =
>>  LIST_HEAD_INITIALIZER(fb_list_head);
>> diff --git a/libbsd.py b/libbsd.py
>> index 4808105b..71eb3577 100644
>> --- a/libbsd.py
>> +++ b/libbsd.py
>> @@ -807,6 +807,8 @@ class display(builder.Module):
>>  'sys/sys/fbio.h',
>>  'sys/sys/consio.h',
>>  'sys/sys/terminal.h',
>> +'sys/dev/vt/hw/fb/vt_fb.h',
>> +'sys/dev/vt/colors/vt_termcolors.h',
>>  ]
>>  )
>>  self.addKernelSpaceSourceFiles(
>> @@ -821,6 +823,8 @@ class display(builder.Module):
>>  'sys/arm/ti/am335x/am335x_lcd.c',
>>  'sys/arm/ti/am335x/am335x_pwmss.c',
>>  'sys/arm/ti/am335x/am335x_ecap.c',
>> +'sys/dev/fb/fb.c',
>> +'sys/dev/fb/fbd.c',
>>  ],
>>  mm.generator['source']()
>>  )
>> diff --git a/rtemsbsd/include/bsp/nexus-devices.h 
>> b/rtemsbsd/include/bsp/nexus-devices.h
>> index 2c718295..313c40d4 100644
>> --- a/rtemsbsd/include/bsp/nexus-devices.h
>> +++ b/rtemsbsd/include/bsp/nexus-devices.h
>> @@ -68,6 +68,9 @@ SYSINIT_DRIVER_REFERENCE(ofw_iicbus, rtems_i2c);
>>  SYSINIT_DRIVER_REFERENCE(iic, iicbus);
>>  SYSINIT_DRIVER_REFERENCE(tda, iicbus);
>>  SYSINIT_DRIVER_REFERENCE(iicbus, rtems_i2c);
>> +SYSINIT_DRIVER_REFERENCE(fbd, fb);
>> +SYSINIT_DRIVER_REFERENCE(fb, fb_mod);
>> +SYSINIT_MODULE_REFERENCE(fb_mod);
>>  #ifdef RTEMS_BSD_MODULE_NET80211
>>  SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
>>  SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);
>> diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h 
>> b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> index 3951da79..d796d3d1 100644
>> --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> @@ -1266,6 +1266,16 @@
>>  #define eventhandler_find_list _bsd_eventhandler_find_list
>>  #define eventhandler_prune_list _bsd_eventhandler_prune_list
>>  #define eventhandler_register _bsd_eventhandler_register
>> +#define fb_commonioctl _bsd_fb_commonioctl
>> +#define fbd_devclass _bsd_fbd_devclass
>> +#define fbd_driver _bsd_fbd_driver
>> +#define fbd_list _bsd_fbd_list
>> +#define fbd_register _bsd_fbd_register
>> +#define fb_dump_adp_info _bsd_fb_dump_adp_info
>> +#define fb_dump_mode_info _bsd_fb_dump_mode_info
>> +#define fbd_unregister _bsd_fbd_unregister
>> +#define fb_list_head _bsd_fb_list_head
>> +#define fb_type _bsd_fb_type
>>  #define fdt_addrsize_cells _bsd_fdt_addrsize_cells
>>  #define fdt_data_get _bsd_fdt_data_get
>>  #define fdt_data_to_res _bsd_fdt_data_to_res
>> @@ -5515,8 +5525,18 @@
>>  #define vht80_chan_ranges _bsd_vht80_chan_ranges
>>  #define vesagtf_mode _bsd_vesagtf_mode
>>  #define vesagtf_mode_params _bsd_vesagtf_mode_params
>> +#define vid_allocate _bsd_vid_allocate
>> +#define vid_configure _bsd_vid_configure
>>  #define videomode_count _bsd_videomode_count
>>  #define videomode_list _bsd_videomode_list
>> +#define vid_find_adapter _bsd_vid_find_adapter
>> +#define vid_get_adapter _bsd_vid_get_adapter
>> +#define vid_get_switch _bsd_vid_get_switch
>> +#define vid_init_struct _bsd_vid_init_struct
>> +#define vid_register _bsd_vid_register
>> +#define vid_release _bsd_vid_release
>> +#define vidsw _bsd_vidsw
>> +#define vid_unregister _bsd_vid_unregister
>>  #define vlan_cookie_p _bsd_vlan_cookie_p
>>  #define vlan_devat_p _bsd_vlan_devat_p
>>  #define vlan_input_p _bsd_vlan_input_p
>> @@ -5533,6 +5553,21 @@
>>  #define vsnprintf _bsd_vsnprintf
>>  #define vsnrprintf 

Re: [PATCH 06/10] fbd : Port to RTEMS

2019-07-27 Thread Christian Mauderer
On 26/07/2019 13:22, Vijay Kumar Banerjee wrote:
> ---
>  freebsd/sys/dev/fb/fbd.c  |  3 ++
>  libbsd.py |  4 +++
>  rtemsbsd/include/bsp/nexus-devices.h  |  3 ++
>  .../machine/rtems-bsd-kernel-namespace.h  | 35 +++
>  rtemsbsd/include/rtems/bsd/local/opt_fb.h |  0
>  5 files changed, 45 insertions(+)
>  create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_fb.h
> 
> diff --git a/freebsd/sys/dev/fb/fbd.c b/freebsd/sys/dev/fb/fbd.c
> index 60ce4bc3..33cdc348 100644
> --- a/freebsd/sys/dev/fb/fbd.c
> +++ b/freebsd/sys/dev/fb/fbd.c
> @@ -59,6 +59,9 @@ __FBSDID("$FreeBSD$");
>  #include 
>  
>  #include 
> +#ifdef __rtems__
> +#define vtophys(a) (a)
> +#endif /* __rtems__ */

That seems to be already defined in rtemsbsd/include/machine/vm.h which
should be included via . Why is it necessary?

>  
>  LIST_HEAD(fb_list_head_t, fb_list_entry) fb_list_head =
>  LIST_HEAD_INITIALIZER(fb_list_head);
> diff --git a/libbsd.py b/libbsd.py
> index 4808105b..71eb3577 100644
> --- a/libbsd.py
> +++ b/libbsd.py
> @@ -807,6 +807,8 @@ class display(builder.Module):
>  'sys/sys/fbio.h',
>  'sys/sys/consio.h',
>  'sys/sys/terminal.h',
> +'sys/dev/vt/hw/fb/vt_fb.h',
> +'sys/dev/vt/colors/vt_termcolors.h',
>  ]
>  )
>  self.addKernelSpaceSourceFiles(
> @@ -821,6 +823,8 @@ class display(builder.Module):
>  'sys/arm/ti/am335x/am335x_lcd.c',
>  'sys/arm/ti/am335x/am335x_pwmss.c',
>  'sys/arm/ti/am335x/am335x_ecap.c',
> +'sys/dev/fb/fb.c',
> +'sys/dev/fb/fbd.c',
>  ],
>  mm.generator['source']()
>  )
> diff --git a/rtemsbsd/include/bsp/nexus-devices.h 
> b/rtemsbsd/include/bsp/nexus-devices.h
> index 2c718295..313c40d4 100644
> --- a/rtemsbsd/include/bsp/nexus-devices.h
> +++ b/rtemsbsd/include/bsp/nexus-devices.h
> @@ -68,6 +68,9 @@ SYSINIT_DRIVER_REFERENCE(ofw_iicbus, rtems_i2c);
>  SYSINIT_DRIVER_REFERENCE(iic, iicbus);
>  SYSINIT_DRIVER_REFERENCE(tda, iicbus);
>  SYSINIT_DRIVER_REFERENCE(iicbus, rtems_i2c);
> +SYSINIT_DRIVER_REFERENCE(fbd, fb);
> +SYSINIT_DRIVER_REFERENCE(fb, fb_mod);
> +SYSINIT_MODULE_REFERENCE(fb_mod);
>  #ifdef RTEMS_BSD_MODULE_NET80211
>  SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
>  SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);
> diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h 
> b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
> index 3951da79..d796d3d1 100644
> --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
> +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
> @@ -1266,6 +1266,16 @@
>  #define  eventhandler_find_list _bsd_eventhandler_find_list
>  #define  eventhandler_prune_list _bsd_eventhandler_prune_list
>  #define  eventhandler_register _bsd_eventhandler_register
> +#define  fb_commonioctl _bsd_fb_commonioctl
> +#define  fbd_devclass _bsd_fbd_devclass
> +#define  fbd_driver _bsd_fbd_driver
> +#define  fbd_list _bsd_fbd_list
> +#define  fbd_register _bsd_fbd_register
> +#define  fb_dump_adp_info _bsd_fb_dump_adp_info
> +#define  fb_dump_mode_info _bsd_fb_dump_mode_info
> +#define  fbd_unregister _bsd_fbd_unregister
> +#define  fb_list_head _bsd_fb_list_head
> +#define  fb_type _bsd_fb_type
>  #define  fdt_addrsize_cells _bsd_fdt_addrsize_cells
>  #define  fdt_data_get _bsd_fdt_data_get
>  #define  fdt_data_to_res _bsd_fdt_data_to_res
> @@ -5515,8 +5525,18 @@
>  #define  vht80_chan_ranges _bsd_vht80_chan_ranges
>  #define  vesagtf_mode _bsd_vesagtf_mode
>  #define  vesagtf_mode_params _bsd_vesagtf_mode_params
> +#define  vid_allocate _bsd_vid_allocate
> +#define  vid_configure _bsd_vid_configure
>  #define  videomode_count _bsd_videomode_count
>  #define  videomode_list _bsd_videomode_list
> +#define  vid_find_adapter _bsd_vid_find_adapter
> +#define  vid_get_adapter _bsd_vid_get_adapter
> +#define  vid_get_switch _bsd_vid_get_switch
> +#define  vid_init_struct _bsd_vid_init_struct
> +#define  vid_register _bsd_vid_register
> +#define  vid_release _bsd_vid_release
> +#define  vidsw _bsd_vidsw
> +#define  vid_unregister _bsd_vid_unregister
>  #define  vlan_cookie_p _bsd_vlan_cookie_p
>  #define  vlan_devat_p _bsd_vlan_devat_p
>  #define  vlan_input_p _bsd_vlan_input_p
> @@ -5533,6 +5553,21 @@
>  #define  vsnprintf _bsd_vsnprintf
>  #define  vsnrprintf _bsd_vsnrprintf
>  #define  vsprintf _bsd_vsprintf
> +#define  vt_fb_attach _bsd_vt_fb_attach
> +#define  vt_fb_bitblt_bitmap _bsd_vt_fb_bitblt_bitmap
> +#define  vt_fb_bitblt_text _bsd_vt_fb_bitblt_text
> +#define  vt_fb_blank _bsd_vt_fb_blank
> +#define  vt_fb_detach _bsd_vt_fb_detach
> +#define  vt_fb_drawrect 

[PATCH 06/10] fbd : Port to RTEMS

2019-07-26 Thread Vijay Kumar Banerjee
---
 freebsd/sys/dev/fb/fbd.c  |  3 ++
 libbsd.py |  4 +++
 rtemsbsd/include/bsp/nexus-devices.h  |  3 ++
 .../machine/rtems-bsd-kernel-namespace.h  | 35 +++
 rtemsbsd/include/rtems/bsd/local/opt_fb.h |  0
 5 files changed, 45 insertions(+)
 create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_fb.h

diff --git a/freebsd/sys/dev/fb/fbd.c b/freebsd/sys/dev/fb/fbd.c
index 60ce4bc3..33cdc348 100644
--- a/freebsd/sys/dev/fb/fbd.c
+++ b/freebsd/sys/dev/fb/fbd.c
@@ -59,6 +59,9 @@ __FBSDID("$FreeBSD$");
 #include 
 
 #include 
+#ifdef __rtems__
+#define vtophys(a) (a)
+#endif /* __rtems__ */
 
 LIST_HEAD(fb_list_head_t, fb_list_entry) fb_list_head =
 LIST_HEAD_INITIALIZER(fb_list_head);
diff --git a/libbsd.py b/libbsd.py
index 4808105b..71eb3577 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -807,6 +807,8 @@ class display(builder.Module):
 'sys/sys/fbio.h',
 'sys/sys/consio.h',
 'sys/sys/terminal.h',
+'sys/dev/vt/hw/fb/vt_fb.h',
+'sys/dev/vt/colors/vt_termcolors.h',
 ]
 )
 self.addKernelSpaceSourceFiles(
@@ -821,6 +823,8 @@ class display(builder.Module):
 'sys/arm/ti/am335x/am335x_lcd.c',
 'sys/arm/ti/am335x/am335x_pwmss.c',
 'sys/arm/ti/am335x/am335x_ecap.c',
+'sys/dev/fb/fb.c',
+'sys/dev/fb/fbd.c',
 ],
 mm.generator['source']()
 )
diff --git a/rtemsbsd/include/bsp/nexus-devices.h 
b/rtemsbsd/include/bsp/nexus-devices.h
index 2c718295..313c40d4 100644
--- a/rtemsbsd/include/bsp/nexus-devices.h
+++ b/rtemsbsd/include/bsp/nexus-devices.h
@@ -68,6 +68,9 @@ SYSINIT_DRIVER_REFERENCE(ofw_iicbus, rtems_i2c);
 SYSINIT_DRIVER_REFERENCE(iic, iicbus);
 SYSINIT_DRIVER_REFERENCE(tda, iicbus);
 SYSINIT_DRIVER_REFERENCE(iicbus, rtems_i2c);
+SYSINIT_DRIVER_REFERENCE(fbd, fb);
+SYSINIT_DRIVER_REFERENCE(fb, fb_mod);
+SYSINIT_MODULE_REFERENCE(fb_mod);
 #ifdef RTEMS_BSD_MODULE_NET80211
 SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
 SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);
diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h 
b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
index 3951da79..d796d3d1 100644
--- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
+++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
@@ -1266,6 +1266,16 @@
 #defineeventhandler_find_list _bsd_eventhandler_find_list
 #defineeventhandler_prune_list _bsd_eventhandler_prune_list
 #defineeventhandler_register _bsd_eventhandler_register
+#definefb_commonioctl _bsd_fb_commonioctl
+#definefbd_devclass _bsd_fbd_devclass
+#definefbd_driver _bsd_fbd_driver
+#definefbd_list _bsd_fbd_list
+#definefbd_register _bsd_fbd_register
+#definefb_dump_adp_info _bsd_fb_dump_adp_info
+#definefb_dump_mode_info _bsd_fb_dump_mode_info
+#definefbd_unregister _bsd_fbd_unregister
+#definefb_list_head _bsd_fb_list_head
+#definefb_type _bsd_fb_type
 #definefdt_addrsize_cells _bsd_fdt_addrsize_cells
 #definefdt_data_get _bsd_fdt_data_get
 #definefdt_data_to_res _bsd_fdt_data_to_res
@@ -5515,8 +5525,18 @@
 #definevht80_chan_ranges _bsd_vht80_chan_ranges
 #definevesagtf_mode _bsd_vesagtf_mode
 #definevesagtf_mode_params _bsd_vesagtf_mode_params
+#definevid_allocate _bsd_vid_allocate
+#definevid_configure _bsd_vid_configure
 #definevideomode_count _bsd_videomode_count
 #definevideomode_list _bsd_videomode_list
+#definevid_find_adapter _bsd_vid_find_adapter
+#definevid_get_adapter _bsd_vid_get_adapter
+#definevid_get_switch _bsd_vid_get_switch
+#definevid_init_struct _bsd_vid_init_struct
+#definevid_register _bsd_vid_register
+#definevid_release _bsd_vid_release
+#definevidsw _bsd_vidsw
+#definevid_unregister _bsd_vid_unregister
 #definevlan_cookie_p _bsd_vlan_cookie_p
 #definevlan_devat_p _bsd_vlan_devat_p
 #definevlan_input_p _bsd_vlan_input_p
@@ -5533,6 +5553,21 @@
 #definevsnprintf _bsd_vsnprintf
 #definevsnrprintf _bsd_vsnrprintf
 #definevsprintf _bsd_vsprintf
+#definevt_fb_attach _bsd_vt_fb_attach
+#definevt_fb_bitblt_bitmap _bsd_vt_fb_bitblt_bitmap
+#definevt_fb_bitblt_text _bsd_vt_fb_bitblt_text
+#definevt_fb_blank _bsd_vt_fb_blank
+#definevt_fb_detach _bsd_vt_fb_detach
+#definevt_fb_drawrect _bsd_vt_fb_drawrect
+#definevt_fb_fini _bsd_vt_fb_fini
+#definevt_fb_init _bsd_vt_fb_init
+#definevt_fb_invalidate_text _bsd_vt_fb_invalidate_text
+#definevt_fb_ioctl _bsd_vt_fb_ioctl
+#definevt_fb_mmap _bsd_vt_fb_mmap
+#definevt_fb_postswitch _bsd_vt_fb_postswitch
+#define