Prepare floors by removing old flooring, nails, adhesive, and any loose dirt and debris. Clean floors with product such as Krud Kutter, rinse, and let dry fully.
Clean cracks and fill with masonry crack filler, smoothing with putty knife. Allow to dry, then sand smooth and clean up dust with tack cloth.
Apply primer (optional) in the same way as paint.
Paint corners and edges using a small angled brush (about 2").
Apply paint with roller (use extension handle for comfort), pouring paint into tray or in small amounts directly onto floor. Start in far corner and work quickly in small sections.
Roll on paint in long, smooth motions, watching for lines or ridges. Maintain a "wet edge" at all times when painting, meaning don't paint over semi-dry paint with more paint..
Paint until entire floor is covered and smooth. Let dry 24 hours.
Sand any drips or lightly before a second coat of paint. Add second coat in the same manner as the first, and let dry.
Finish with a masonry sealer, if desired.
Notes
We used Glidden Porch and Floor Polyurethane Oil Gloss in the color Steel Grey. Paints sold for interior and exterior use tend to be the most durable.